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:

  1. Ujistěte se, že máte povoleny možnosti pro vývojáře.
  2. V možnostech pro vývojáře klepněte na možnost Přijmout hlášení chyby.
  3. 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).

  4. 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:

  1. Klepněte na More na panelu emulátoru.
  2. 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.

  3. 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 dumpstatekopí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.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.