Raport błędu zawiera dzienniki urządzenia, ślady stosu i inne informacje diagnostyczne, które pomogą Ci znaleźć i naprawić błędy w aplikacji. Możesz przechwycić raport o błędach z urządzenia, używając opcji dewelopera Take bug report na urządzeniu, menu Android Emulator lub polecenia adb bugreport na komputerze deweloperskim.

Figura 1. Opcje dewelopera

Aby wykonać raport o błędzie, musisz mieć włączone opcje dewelopera na swoim urządzeniu, aby uzyskać dostęp do opcji Wykonaj raport o błędzie.

Wykonaj raport o błędzie z urządzenia

Figura 2. Raport o błędzie jest gotowy

Aby uzyskać raport o błędzie bezpośrednio z urządzenia, wykonaj następujące czynności:

  1. Upewnij się, że masz włączone Opcje programisty.
  2. W Opcjach programisty stuknij opcję Weź raport o błędzie.
  3. Wybierz typ raportu o błędzie i stuknij opcję Zgłoś.

    Po chwili pojawi się powiadomienie, że raport o błędzie jest gotowy (patrz rys. 2).

  4. Aby udostępnić raport o błędzie, stuknij powiadomienie.

Złapanie raportu o błędzie z emulatora systemu Android

Z emulatora systemu Android możesz użyć funkcji Złóż raport o błędzie w rozszerzonych elementach sterujących:

  1. Kliknij przycisk Więcej w panelu emulatora.
  2. W oknie Extended controls, wybierz Bug report on the left.

    To otwiera ekran, na którym można zobaczyć szczegóły raportu o błędzie, takie jak zrzut ekranu, informacje o konfiguracji AVD i dziennik raportu o błędzie. Można również wpisać wiadomość z krokami reprodukcji, aby zapisać ją w raporcie.

  3. Poczekaj na zakończenie zbierania raportu o błędzie, a następnie kliknij przycisk Zapisz raport.

Przechwytywanie raportu o błędach za pomocą adb

Jeśli masz podłączone tylko jedno urządzenie, możesz uzyskać raport o błędach za pomocąadb w następujący sposób:

$ adb bugreport E:\Reports\MyBugReports

Jeśli nie określisz ścieżki do raportu o błędach, zostanie on zapisany w katalogu lokalnym.

Jeśli masz podłączonych wiele urządzeń, musisz określić urządzenie za pomocą opcji-s. Uruchom następujące polecenia adb, aby uzyskać numer seryjny urządzenia i wygenerować raport o błędach.

$ adb devicesList of devices attachedemulator-5554 device8XV7N15C31003476 device$ adb -s 8XV7N15C31003476 bugreport

Sprawdź plik ZIP raportu o błędach

Domyślnie plik ZIP ma nazwębugreport-BUILD_ID-DATE.zip i może zawierać wiele plików, ale najważniejszy jest plikbugreport-BUILD_ID-DATE.txt. Jest to raport o błędach i zawiera dane diagnostyczne dla usług systemowych (dumpsys), dzienniki błędów (dumpstate) i dzienniki komunikatów systemowych (logcat). Komunikaty systemowe zawierają ślady stosu, gdy urządzenie wyrzuca błąd, oraz komunikaty pisane ze wszystkich aplikacji z klasąLog.

Plik ZIP zawiera plik metadanych version.txt, który zawiera list wydania Androida, a gdy włączona jest funkcja systrace, plik ZIP zawiera również plik systrace.txt. Narzędzie Systrace pomaga analizować wydajność aplikacji przez przechwytywanie i wyświetlanie czasów wykonania procesów aplikacji i innych procesów systemu Android.

Narzędzie dumpstate kopiuje pliki z systemu plików urządzenia do pliku ZIP w folderze FS, dzięki czemu można się do nich odwoływać. Na przykład plik /dirA/dirB/fileC w urządzeniu spowoduje wygenerowanie wpisuFS/dirA/dirB/fileC w pliku ZIP.

Rysunek 3. Struktura pliku raportu o błędach

Więcej informacji można znaleźć w rozdziale Odczytywanie raportów o błędach.

Uzyskaj raporty od swoich użytkowników

Przechwytywanie raportów o błędach w sposób opisany powyżej jest pomocne podczas samodzielnego korzystania z aplikacji, ale użytkownicy końcowi nie mogą łatwo dzielić się z Tobą tego typu raportami. Aby uzyskać raporty o awariach ze śladami stosu od rzeczywistych użytkowników, należy skorzystać z funkcji raportowania awarii w Google Play i Firebase.

Google Play Console

Możesz uzyskać raporty zGoogle Play Console, aby wyświetlić dane o awariach i błędach braku odpowiedzi aplikacji (ANR) od użytkowników, którzy zainstalowali Twoją aplikację w Google Play.Dane są dostępne dla ostatnich sześciu miesięcy.

Więcej informacji można znaleźć w sekcjiZobacz awarie &błędy braku odpowiedzi aplikacji (ANR) w pomocy Konsoli Play.

Raportowanie awarii w bazie danych Firebase

Raportowanie w bazie danych Firebase Crashlytics tworzy szczegółowe raporty błędów w aplikacji.Błędy są pogrupowane w problemy na podstawie podobnych śladów stosu i są rozwiązywane według ciężkości wpływu na użytkowników. Oprócz automatycznych raportów można rejestrować niestandardowe zdarzenia, aby pomóc uchwycić kroki prowadzące do awarii.

Możesz zacząć otrzymywać raporty o awariach od dowolnego użytkownika, po prostu dodając zależnościFirebase do swojego pliku build.gradle. Więcej informacji można znaleźć w temacieFirebase Crashlytics.

.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.