Hlášení o chybách obsahuje protokoly zařízení, stopy zásobníku a další diagnostické informace, které vám pomohou najít a opravit chyby v aplikaci. Hlášení o chybě můžete zachytit ze zařízení pomocí volby Take bug report developeroption na zařízení, v nabídce emulátoru Androidu nebo příkazem adb bugreport
na vývojovém počítači.
Obrázek 1. Hlášení o chybě v zařízení. Vývojářské možnosti
Chcete-li pořídit hlášení o chybě, musíte mít v zařízení povoleny Vývojářské možnosti, abyste měli přístup k možnosti Pořídit hlášení o chybě.
Pořízení hlášení o chybě ze zařízení
Obrázek 2. Hlášení chyby je připraveno
Chcete-li získat hlášení chyby přímo ze zařízení, postupujte takto:
- Ujistěte se, že máte povoleny možnosti pro vývojáře.
- V možnostech pro vývojáře klepněte na možnost Přijmout hlášení chyby.
- Zvolte požadovaný typ hlášení chyby a klepněte na Nahlásit.
Po chvíli se zobrazí oznámení, že hlášení chyby je připraveno (viz obrázek 2).
- Chcete-li hlášení chyby sdílet, klepněte na oznámení.
Zachycení hlášení o chybě z emulátoru Androidu
Z emulátoru Androidu můžete v rozšířených ovládacích prvcích použít funkci File a bugfeature:
- Klepněte na More na panelu emulátoru.
-
V okně Rozšířené ovládací prvky vyberte vlevo možnost Nahlásit chybu.
Otevře se obrazovka, kde si můžete prohlédnout podrobnosti o nahlášení chyby, například snímek obrazovky, informace o konfiguraci AVD a protokol o nahlášení chyby. Můžete také napsat zprávu s kroky reprodukce, kterou chcete uložit spolu s hlášením.
-
Počkejte, až se hlášení o chybě dokončí shromažďovat, a klepněte na tlačítko Uložit hlášení.
Zachycení hlášení o chybě pomocí adb
Pokud máte připojeno pouze jedno zařízení, můžete získat hlášení o chybě pomocíadb
následujícím způsobem:
$ adb bugreport E:\Reports\MyBugReports
Pokud nezadáte cestu k hlášení o chybě, uloží se do místního adresáře.
Pokud máte připojeno více zařízení, musíte zadat zařízení pomocí možnosti-s
. Spusťte následující příkazy adb
pro zjištění sériového čísla zařízení a vygenerování hlášení o chybě.
$ adb devicesList of devices attachedemulator-5554 device8XV7N15C31003476 device$ adb -s 8XV7N15C31003476 bugreport
Prohlédněte si soubor ZIP s hlášením o chybě
Ve výchozím nastavení se soubor ZIP jmenujebugreport-BUILD_ID-DATE.zip
a může obsahovat více souborů, ale nejdůležitějším souborem jebugreport-BUILD_ID-DATE.txt
. Jedná se o hlášení chyby a obsahujediagnostický výstup pro systémové služby (dumpsys
), protokoly chyb (dumpstate
),a protokoly systémových zpráv (logcat
). Systémové zprávy zahrnují stopy zásobníku, když zařízení vyhodí chybu, a zprávy zapsané ze všech aplikací s třídouLog
.
Soubor ZIP obsahuje soubor version.txt
s metadaty, který obsahujepísmeno vydání systému Android, a pokud je povoleno systrace, soubor ZIP obsahuje také soubor systrace.txt
. NástrojSystracepomáhá analyzovat výkon vaší aplikace zachycením a zobrazením časů provádění procesů vašíaplikace a ostatních procesů systému Android.
Nástroj dumpstate
kopíruje soubory ze souborového systému zařízení do souboru ZIP ve složce FS
, abyste na ně mohli odkazovat. Například soubor /dirA/dirB/fileC
v zařízení by vytvořil položkuFS/dirA/dirB/fileC
v souboru ZIP.
Obrázek 3: Soubor /dirA/dirB/fileC
v zařízení. Struktura souboru hlášení o chybách
Další informace naleznete v částiČtení hlášení o chybách.
Získávání hlášení od uživatelů
Zachycení hlášení o chybách, jak je popsáno výše, je užitečné, když aplikaci používáte sami, ale koncoví uživatelé s vámi tyto typy hlášení o chybách nemohou snadno sdílet. Chcete-li získat hlášení o haváriích se stopami zásobníku od reálných uživatelů, měli byste využít funkce hlášení o haváriích Google Play a Firebase.
Konzola Google Play
Můžete získat hlášení z Konzoly Google Play a zobrazit údaje o haváriích a chybách neodpovídajících aplikaci (ANR) od uživatelů, kteří si vaši aplikaci nainstalovali z Google Play.Údaje jsou k dispozici za předchozích šest měsíců.
Další informace naleznete v nápovědě ke Konzole Play v částiView crashes & application not responding (ANR) errors.
Firebase crash reporting
Firebase Crashlytics reporting vytváří podrobné zprávy o chybách ve vaší aplikaci. chyby jsou seskupeny do problémů na základě toho, že mají podobné stack traces, a tříděny podle závažnosti dopadu na uživatele. Kromě automatických hlášení můžete zaznamenávat vlastní události, které vám pomohou zachytit kroky vedoucí k pádu.
Hlášení o pádu začnete dostávat od libovolného uživatele jednoduchým přidáním závislostíFirebasedo vašeho souboru build.gradle
. Další informace naleznete v částiFirebase Crashlytics.