Zgłoś błąd

Aby przesłać raport o błędzie, wykonaj czynności opisane na tej stronie. Zasoby na naprawę błędów są ograniczone, dlatego priorytetowo traktujemy błędy, które zawierają pełne informacje. Niekompletne zgłoszenia błędów są zamykane. W takim przypadku prześlij zgłoszenie błędu ponownie, podając dodatkowe informacje.

Aby mieć pewność, że nie zgłaszasz błędu, który został już naprawiony, sprawdź, czy używasz najnowszych wersji narzędzi. Możesz też przeszukać rejestr problemów z Android Studio, aby sprawdzić, czy problem, z którym się spotykasz, został już zgłoszony.

Jak zgłosić błąd

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

  1. Aby otworzyć zgłoszenie błędu w Android Studio, kliknij Pomoc > Prześlij zgłoszenie błędu.

    Jest to najprostszy sposób na zgłoszenie błędu, ponieważ wypełnia raport o błędzie informacjami o wersji Androida Studio, wersji Kotlina lub Javy oraz informacje o systemie, które są potrzebne 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ć Twój problem. Aby wygenerować plik ZIP z raportami diagnostycznymi, kliknij Pomoc > Zbieranie dzienników i danych diagnostycznych.

  3. Opisz dokładne kroki, które należy wykonać, aby odtworzyć problem. Prześlij jak najwięcej informacji, w tym fragmenty kodu, projekt GitHub, który można wykorzystać do odtworzenia błędu, oraz zrzuty ekranu lub nagrania tego, co obserwujesz.

  4. Opisz szczegółowo problem. Wyjaśnij, jakiego wyniku oczekiwałeś(-aś) i co się wydarzyło.

  5. Wybierz opisowy tytuł raportu o błędzie. Użycie bardziej opisowego tytułu ułatwia sortowanie według problemu.

W przypadku niektórych błędów potrzebujemy dodatkowych informacji, jak opisano w tych sekcjach:

Szczegóły błędów w Android Studio

Aby zgłaszać błędy związane z Android Studio, dołącz dodatkowe informacje, jak opisano w tej sekcji.

Jeśli IDE zawiesza się

Jeśli IDE działa bardzo wolno lub jest całkowicie zablokowane, wygeneruj kilka zrzutów wątków, jak opisano na tej stronie, i dołącz je do zgłoszenia błędu. Informacje o wąskim miejscu pokazują, co IDE robi, że spowalnia.

Jeśli IDE działa wolno, ale nie jest zablokowane, dołącz plik idea.log do raportu o błędzie. Aby załączyć plik, wybierz Pomoc > Zbierz dzienniki i dane diagnostyczne lub Pomoc > Pokaż dziennik w Plikach (Pomoc > Pokaż dziennik w Finderze w systemie macOS). Ten plik pokazuje, czy środowisko IDE wyrzuca błędy do dziennika.

Diagnozowanie spowolnienia za pomocą profili procesora

Jeśli masz problemy z powolnością Android Studio, profile procesora mogą pomóc w diagnozowaniu problemu.

Aby uzyskać profil procesora za pomocą wtyczki Testowanie wydajności w Android Studio:

  1. Zainstaluj wtyczkę.

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

    1. Jeśli Android Studio działa wolno, wybierz Rozpocznij profilowanie wykorzystania procesora.
    2. Powtórz kilka działań, w przypadku których opóźnienie jest problematyczne (uzupełnianie kodu, pisanie i oczekiwanie na podświetlenie itp.).
    3. Kliknij Zatrzymaj profilowanie wykorzystania procesora.
  3. Udostępnij plik profilu.

    Pojawi się dymek z nazwą pliku zrzutu ekranu procesora, która ma format snapshot-NNN. Udostępnij ten plik z migawką w raporcie o błędzie.

Jeśli w IDE zabraknie pamięci

Problemy z pamięcią w Android Studio są czasami trudne do odtworzenia i zgłaszania. Aby Ci pomóc rozwiązać ten problem, Android Studio zawiera raport o wykorzystaniu pamięci, który możesz przesłać zespołowi Android Studio, aby pomóc w zidentyfikowaniu źródła problemów z pamięcią.

Generowanie raportu o wykorzystaniu pamięci

Aby utworzyć raport o wykorzystaniu pamięci:

  1. Na pasku menu kliknij Pomoc > Przeanalizuj użycie pamięci.

    Android Studio wygeneruje kopię stosu i poprosi 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 pokazano na rysunku 1).

    Powiadomienie, że raport o wykorzystaniu pamięci jest gotowy do sprawdzenia
    Rysunek 1. Pamięć Użyj powiadomienia o zgłaszaniu.
  2. Kliknij Sprawdź raport.

    Zanim wyślesz raport, możesz sprawdzić informacje, które są w nim zawarte:

    raport o wykorzystaniu pamięci;
    Rysunek 2. Analiza raportu Użycie pamięci.
  3. Po zakończeniu sprawdzania skopiuj zawartość raportu do pliku i załącz go, gdy zgłaszasz błąd.

    Przesłanie informacji w ten sposób umożliwia zespołowi Android Studio kontakt z Tobą za pomocą narzędzia do śledzenia problemów podczas analizowania problemów z pamięcią.

Jeśli IDE się zawiesi lub zwróci wyjątek

W przypadku innych typów awarii załącz plik idea.log, który znajdziesz, wybierając Pomoc > Zbierz dzienniki i dane diagnostyczne lub Pomoc > Pokaż dziennik w Finderze (Pomoc > Pokaż dziennik w Finderze w systemie macOS).

Generowanie zrzutu wątku

Wydruk wątku to wydruk wszystkich wątków działających w JVM. W przypadku każdego wątku zawiera wydruk wszystkich ramek stosu. Dzięki temu łatwo sprawdzić, czym zajmuje się IDE, zwłaszcza jeśli wygenerujesz kilka dumpów wątków w odstępie kilku sekund.

Gdy zgłaszasz błędy, które powodują, że IDE jest bardzo zajęte, a procesor jest zablokowany lub IDE wydaje się być zablokowane, zrzut wątku może wskazać, który kod wykonuje dużo pracy lub które wątki konkurują o zasoby i spowodują blokadę.

JDK zawiera narzędzie o nazwie jstack, które umożliwia wygenerowanie 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 

Wyświetla to długi wiersz, np.:

$ 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 pomoże, możesz wygenerować zrzut wątku na kilka innych sposobów, zależnie od platformy. Szczegółowe instrukcje znajdziesz w artykule pomocy IntelliJ.

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

Aby zgłosić błąd narzędzi do kompilacji lub Gradle, załącz rzeczywisty lub przykładowy projekt, który demonstruje problem, aby zapewnić uwzględnienie wszystkich potrzebnych informacji. Przed udostępnieniem usuń wszelkie informacje poufne.

Jeśli nie możesz udostępnić projektu, podaj wersje narzędzi, których używasz. (przed zgłoszeniem błędu spróbuj użyć najnowszej stabilnej lub wersji podglądowej). Aby znaleźć wersje narzędzia:

  • Wersja wtyczki Androida do obsługi Gradle:

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

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

    1. Kliknij Pomoc > Informacje.
    2. Odszukaj wersję Android Studio.

Dodatkowo w razie potrzeby podaj te informacje:

  • Jeśli zachowanie zmieniło się nieoczekiwanie z wersji wcześniejszej na bieżącą, wskaż obie wersje.
  • Jeśli kompilacja zakończyła się błędem, uruchom ją z poziomu wiersza poleceń z opcją --stacktrace (np. ./gradlew <task> --stacktrace) i prześlij ślad stosu w raporcie o błędzie.
  • Jeśli kompilacja trwa dłużej niż oczekiwano, spróbuj wykonać jedną z tych czynności:
    • Uruchom ./gradlew <task> --scan i udostępnij wygenerowany skanowanie kompilacji Gradle w raporcie o błędach.
    • Uruchom ./gradlew <task> -Pandroid.enableProfileJson=true i udostępnij pliki Chrome-trace wygenerowane w katalogu <root-project>/build/android-profile.

Szczegóły dotyczące błędów emulatora Androida

Aby zebrać informacje i przesłać raport o błędzie, użyj rozszerzonych elementów sterujących emulatora:

  1. W panelu emulatora kliknij Więcej .
  2. W oknie Rozszerzone ustawienia kliknij Raport o błędzie.

    Otworzy się ekran z szczegółami raportu o błędzie, takimi jak zrzut ekranu, informacje o konfiguracji AVD i dziennik raportu o błędzie. Możesz tu wpisać instrukcje odtwarzania problemu lub poczekać i wpisać je w raporcie wygenerowanym w następnym kroku.

  3. Poczekaj, aż zakończy się zbieranie informacji do 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. Przeglądarka otworzy się też, aby utworzyć raport w systemie śledzenia problemów Google z wypełnionymi niezbędnymi danymi o emulatorze.

  4. W raporcie podaj brakujące informacje, np. czynności, które należy wykonać, aby odtworzyć błąd, i dołącz pliki zapisane podczas tworzenia raportu o błędzie.

W przeciwnym razie wpisz ręcznie te informacje:

  • Wersja emulatora

    1. W emulatorze otwórz Rozszerzone opcje.
    2. Kliknij Pomoc.
    3. Kliknij kartę Informacje, aby znaleźć wersję emulatora.
  • Wersja Android SDK Tools

    1. Kliknij Narzędzia > Menedżer 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 Mój komputer i wybierz Właściwości.
    • W systemie macOS: kliknij ikonę Apple i wybierz O tym Macu.
  • Nazwa urządzenia

    1. W Menedżerze AVD kliknij, aby otworzyć menu w kolumnie Działania dotyczące 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.