Zgłoś błąd

Aby wypełnić raport o błędzie, wykonaj czynności opisane na tej stronie. Mamy ograniczone zasoby do naprawiania błędów, dlatego priorytetowo traktujemy błędy z kompletnymi informacjami. Niepełne raporty o błędach zostały zamknięte. Jeśli tak się stanie, prześlij zgłoszenie ponownie, podając dodatkowe informacje.

Aby mieć pewność, że nie zgłaszasz błędu, który został już naprawiony, używaj najnowszych wersji narzędzi. Możesz też wyszukać podobne problemy w narzędziu Android Studio do śledzenia błędów, aby sprawdzić, czy Twój problem nie został już zgłoszony.

Jak zgłosić błąd

Aby zgłosić błąd, wykonaj te czynności:

  1. Aby otworzyć raport o błędzie w Android Studio, wybierz Pomoc > Prześlij opinię.

    To najprostszy sposób, by zgłosić błąd, bo zawiera on wersję Androida Studio, wersję Kotlin lub Javy oraz informacje o systemie, które są niezbędne do prawidłowego odtworzenia problemu.

    Możesz też zgłosić błąd tutaj i samodzielnie dodać informacje o wersji.

  2. Dołącz raport diagnostyczny, abyśmy mogli debugować problem. Aby wygenerować plik ZIP z raportem diagnostycznym, kliknij Pomoc > Zbierz dzienniki i dane diagnostyczne.

  3. dokładnie opisać czynności prowadzące do pojawienia się błędu, Prześlij jak najwięcej informacji, w tym fragmenty kodu, projekt GitHuba, którego można użyć do odtworzenia błędu, oraz zrzuty ekranu lub nagrania tego, co obserwujesz.

  4. Opisz szczegółowo problem. Wyjaśnij, czego oczekujesz, i co zaobserwowano.

  5. Wybierz opisowy tytuł raportu o błędzie. Bardziej opisowy tytuł ułatwia sortowanie według problemu.

W przypadku niektórych błędów potrzebujemy dodatkowych informacji, zgodnie z opisem w tych sekcjach:

Szczegóły dotyczące błędów w Android Studio

Aby zgłosić błędy dotyczące Androida Studio, podaj dodatkowe informacje opisane w tej sekcji.

Jeśli IDE zawiesza się

Jeśli samo IDE wydaje się bardzo powolne lub całkowicie zablokowane, wygeneruj kilka zrzutów wątków zgodnie z opisem na tej stronie i dołącz je do raportu o błędzie. Zrzuty wątków pokazują, co robi IDE, co spowalnia jego działanie.

Jeśli IDE jest powolne, ale nie zablokowane, dołącz plik idea.log do raportu o błędzie. Aby załączyć plik, wybierz Pomoc > Zbieraj dzienniki i dane diagnostyczne lub Pomoc > Pokaż plik logowania w plikach (Pomoc > Pokaż dzienniki w Finderze w systemie macOS). Ten plik pokazuje, czy IDE zgłasza błędy do logu.

Użyj profili procesora do zdiagnozowania powolnego działania

Jeśli działanie Androida Studio działa wolniej, profile procesora mogą czasem pomóc w zdiagnozowaniu problemu.

Aby zarejestrować profil procesora za pomocą wtyczki Android Studio do testowania wydajności, wykonaj te czynności:

  1. Zainstaluj wtyczkę.

    • W Android Studio wyszukaj „Testowanie wydajności” na platformie Marketplace.
    • Możesz też pobrać wersję zgodną z Androidem Studio ze strony wtyczki.
  2. Utwórz profil procesora.

    1. Jeśli Android Studio działa wolniej, wybierz Rozpocznij profilowanie wykorzystania procesora.
    2. Powtórz kilka działań, które powodują problemy z opóźnieniem (uzupełnianie kodu, wpisywanie, oczekiwanie na wyróżnienie itd.).
    3. Kliknij Zatrzymaj profilowanie wykorzystania procesora.
  3. Udostępnij plik profilu.

    Pojawi się dymek z nazwą pliku zrzutu procesora w formacie snapshot-NNN. Udostępnij ten plik w raporcie o błędzie.

Jeśli w IDE zabraknie pamięci

Problemy z pamięcią w Android Studio są czasem trudne do odtworzenia i raportowania. W rozwiązaniu tego problemu Android Studio udostępnia raport o wykorzystaniu pamięci, który można wysłać do zespołu Android Studio w celu identyfikacji źródła problemów z pamięcią.

Generowanie raportu o wykorzystaniu pamięci

Aby wygenerować raport wykorzystania pamięci, wykonaj te czynności:

  1. Kliknij Pomoc > Analizuj wykorzystanie pamięci na pasku menu.

    Android Studio zapisuje stertę i wyświetla prośbę o ponowne uruchomienie IDE. Jeśli ponownie uruchomisz IDE, analiza zrzutu stosu rozpocznie się natychmiast. W przeciwnym razie analiza zrzutu stosu rozpocznie się przy następnym uruchomieniu Android Studio. W obu przypadkach IDE powiadomi Cię, gdy raport o wykorzystaniu pamięci będzie gotowy do sprawdzenia, jak widać na ilustracji 1.

    Powiadomienie informujące, że raport o wykorzystaniu pamięci jest gotowy do sprawdzenia
    Rysunek 1. Powiadomienie o raporcie dotyczącym użycia pamięci.
  2. Kliknij Sprawdź raport.

    Przed wysłaniem raportu możesz przejrzeć zawarte w nim informacje:

    Raport o wykorzystaniu pamięci.
    Rysunek 2. Analiza raportu dotyczącego wykorzystania pamięci.
  3. Po zakończeniu sprawdzania skopiuj zawartość raportu do pliku i załącz ten plik podczas zgłaszania błędu.

    Dzięki temu zespół Android Studio będzie mógł się z Tobą komunikować za pomocą narzędzia do śledzenia problemów, aby analizować problemy z pamięcią.

Jeśli IDE ulegnie awarii lub zgłosi wyjątki

W przypadku innych typów awarii załącz plik idea.log. W tym celu wybierz Pomoc > Zbierz dzienniki i dane diagnostyczne lub Pomoc > Pokaż dziennik w plikach (Pomoc > Pokaż dziennik w Finderze (system macOS).

Generowanie zrzutu wątku

Zrzut wątku to wydruk wszystkich wątków uruchomionych w JVM. Każdy wątek obejmuje wydruk wszystkich ramek stosu. Ułatwia to obserwację, co robi IDE, zwłaszcza jeśli generujesz kilka zrzutów wątków w odstępie kilku sekund.

Gdy zgłaszasz błędy, które powodują, że IDE jest bardzo zajęty z podłączonym procesorem lub gdy wydaje się, że jest ono zablokowane, zrzut wątku może wskazać kod wykonujący dużo pracy lub które wątki konkurują o zasoby i powodują zakleszczenie.

W pakiecie JDK znajduje się narzędzie o nazwie jstack, które można wykorzystać do wygenerowania zrzutu wątku. Najpierw znajdź identyfikator procesu (PID) procesu Android Studio. Aby to zrobić, użyj polecenia jps:

W systemie Linux lub macOS:

jps -mv | grep studio

Windows:

jps -mv | findstr studio

Powoduje to wydrukowanie długiego wiersza, na przykład:

$ jps -mv | grep studio
37605 -Dfile.encoding=UTF-8 -ea -Dsun.io.useCanonCaches=false -Djava.net.preferIPv4Stack=true -Djna.nosys=true ...

Pierwsza liczba (w tym przykładzie 37605) to identyfikator procesu.

Następnie wygeneruj zrzut wątku i zapisz go w pliku dump.txt:

jstack -l pid >> dump.txt

Jeśli to nie zadziała, istnieją dodatkowe sposoby generowania zrzutu wątków na poszczególnych platformach. Szczegółowe instrukcje znajdziesz na stronie pomocy technicznej IntelliJ.

Szczegóły dotyczące narzędzi do tworzenia i błędów Gradle

Aby zgłosić błąd dotyczący narzędzi do tworzenia lub Gradle, dołącz rzeczywisty lub przykładowy projekt, który przedstawia problem. Dzięki temu zyskasz pewność, że wszystkie potrzebne informacje zostaną ujęte. Przed udostępnieniem usuń wszelkie informacje poufne.

Jeśli nie możesz udostępnić projektu, podaj wersje używanych narzędzi. (Zanim zgłosisz błąd, spróbuj użyć najnowszej wersji stabilnej lub wersji testowej). Aby znaleźć wersje narzędzia, wykonaj te czynności:

  • Wersja wtyczki Androida do obsługi Gradle:

    1. Wybierz Plik > Struktura projektu.
    2. Kliknij Projekt.
    3. Znajdź wersję wtyczki Androida do obsługi Gradle.
  • Wersja Gradle:

    1. Wybierz Plik > Struktura projektu.
    2. Kliknij Projekt.
    3. Znajdź wersję Gradle.
  • Wersja Android Studio:

    1. Wybierz Pomoc > Informacje.
    2. Znajdź wersję Androida Studio.

W razie potrzeby podaj też te informacje:

  • Jeśli działanie nieoczekiwanie zmieniło się ze starszej wersji na bieżącą, wskaż obie wersje.
  • Jeśli kompilacja nie powiodła się z powodu błędu, uruchom ją z poziomu wiersza poleceń przy użyciu opcji --stacktrace (np. ./gradlew <task> --stacktrace) i dodaj zrzut stosu w raporcie o błędzie.
  • Jeśli kompilacja trwa dłużej niż oczekiwano, wypróbuj jedną z tych metod:
    • Uruchom ./gradlew <task> --scan i udostępnij wygenerowane skanowanie kompilacji Gradle w raporcie o błędzie.
    • Uruchom ./gradlew <task> -Pandroid.enableProfileJson=true i udostępnij pliki Chrome-Trace wygenerowane w katalogu <root-project>/build/android-profile.

Szczegóły błędów emulatora Androida

Aby za pomocą rozszerzonych elementów sterujących emulatora zebrać informacje i zgłosić błąd, wykonaj te czynności:

  1. W panelu emulatora kliknij Więcej .
  2. W oknie Rozszerzone elementy sterujące wybierz Raport o błędzie.

    Otworzy się ekran ze szczegółowymi informacjami o raporcie o błędzie, takimi jak zrzut ekranu, informacje o konfiguracji AVD i dziennik raportu o błędzie. Możesz tutaj wpisać kroki, które chcesz odtworzyć, lub poczekać i wpisać je w raporcie wygenerowanym w następnym kroku.

  3. Poczekaj, aż zakończy się zbieranie raportu o błędzie, a potem kliknij Wyślij do Google.

    Otworzy się okno, w którym możesz zapisać raport o błędzie w folderze. W przeglądarce pojawi się też raport w narzędziu Google do śledzenia problemów z wypełnionymi niezbędnymi informacjami o emulatorze.

  4. Podaj w raporcie wszystkie pozostałe szczegóły, np. czynności, które pozwolą odtworzyć błąd, i załącz pliki zapisane podczas tworzenia raportu.

W przeciwnym razie wpisz te informacje ręcznie:

  • Wersja emulatora

    1. W emulatorze otwórz Rozszerzone elementy sterujące.
    2. Kliknij Pomoc.
    3. Kliknij kartę Informacje, aby sprawdzić ustawienie Wersja emulatora.
  • Wersja Android SDK Tools

    1. Wybierz Narzędzia > Menedżer pakietów SDK.
    2. Kliknij Narzędzia SDK.
    3. Znajdź Android SDK Tools.
  • Model procesora hosta

    • W systemie Linux: otwórz /proc/cpuinfo.
    • W systemie Windows: kliknij prawym przyciskiem myszy Mój komputer i wybierz Właściwości.
    • W systemie macOS: wybierz ikonę Apple i kliknij O tym macOS.
  • Nazwa urządzenia

    1. W Menedżerze AVD kliknij, aby otworzyć menu w kolumnie Działania dotyczącej urządzenia.
    2. Kliknij Wyświetl szczegóły (lub otwórz plik $avdname.avd/config.ini).
    3. Znajdź wpis hw.device.name. Przykład: hw.device.name=Nexus 5.