Fehlerberichte erfassen und lesen

Ein Fehlerbericht enthält Geräteprotokolle, Stacktraces und andere Diagnoseinformationen, mit denen Sie Fehler in Ihrer App finden und beheben können. Wenn Sie einen Fehlerbericht von Ihrem Gerät erstellen möchten, verwenden Sie die Entwickleroption Fehlerbericht abrufen auf dem Gerät, das Android-Emulator-Menü oder den Befehl adb bugreport auf Ihrem Entwicklungscomputer.

Abbildung 1: Entwickleroptionen auf einem Gerät.

Damit du einen Fehlerbericht erstellen kannst, müssen auf deinem Gerät Entwickleroptionen aktiviert sein, damit du auf die Option Fehlerbericht abrufen zugreifen kannst.

Fehlerbericht von einem Gerät aus erstellen

Abbildung 2: Der Fehlerbericht ist bereit.

So erhalten Sie einen Fehlerbericht direkt von Ihrem Gerät:

  1. Aktivieren Sie Entwickleroptionen.
  2. Tippen Sie in den Entwickleroptionen auf Fehlerbericht abrufen.
  3. Wählen Sie den gewünschten Fehlerberichtstyp aus und tippen Sie auf Melden.

    Kurz darauf erhalten Sie eine Benachrichtigung, dass der Fehlerbericht fertig ist, wie in Abbildung 2 dargestellt.

  4. Tippen Sie auf die Benachrichtigung, um den Fehlerbericht zu teilen.

Fehlerbericht im Android-Emulator erstellen

Im Android-Emulator können Sie die Funktion Fehler melden in den erweiterten Steuerelementen verwenden:

  1. Klicken Sie im Steuerfeld „Emulator“ auf das Dreipunkt-Menü .
  2. Wählen Sie im Fenster Erweiterte Steuerelemente die Option Fehlerbericht aus.

    Daraufhin wird ein Bildschirm mit den Details des Fehlerberichts geöffnet, z. B. der Screenshot, die AVD-Konfigurationsinformationen und das Protokoll des Fehlerberichts. Sie können auch eine Nachricht mit den Reproduktionsschritten eingeben, die im Bericht gespeichert werden sollen.

  3. Warten Sie, bis der Fehlerbericht fertig ist, und klicken Sie dann auf Bericht speichern.

Mit ADB einen Fehlerbericht erstellen

Wenn nur ein Gerät verbunden ist, können Sie mit adb einen Fehlerbericht abrufen:

$ adb bugreport E:\Reports\MyBugReports

Wenn Sie keinen Pfad für den Fehlerbericht angeben, wird er im lokalen Verzeichnis gespeichert.

Wenn mehrere Geräte verbunden sind, müssen Sie das Gerät mit der Option -s angeben. Führen Sie die folgenden adb-Befehle aus, um die Seriennummer des Geräts abzurufen und den Fehlerbericht zu erstellen:

$ adb devices
List of devices attached
emulator-5554      device
8XV7N15C31003476 device

$ adb -s 8XV7N15C31003476 bugreport

Älteren Fehlerbericht speichern

Fehlerberichte werden standardmäßig unter /bugreports gespeichert und können mit dem folgenden Befehl aufgerufen werden:

$ adb shell ls /bugreports/
bugreport-foo-bar.xxx.YYYY-MM-DD-HH-MM-SS-dumpstate_log-yyy.txt
bugreport-foo-bar.xxx.YYYY-MM-DD-HH-MM-SS.zip
dumpstate-stats.txt

Sie können die ZIP-Datei dann über adb pull abrufen:

$ adb pull /bugreports/bugreport-foo-bar.xxx.YYYY-MM-DD-HH-MM-SS.zip

Sehen Sie sich die ZIP-Datei mit dem Fehlerbericht an

Standardmäßig heißt die ZIP-Datei bugreport-BUILD_ID-DATE.zip. Die ZIP-Datei kann mehrere Dateien enthalten, aber die wichtigste Datei ist bugreport-BUILD_ID-DATE.txt. Dies ist der Fehlerbericht, der Diagnosedaten für Systemdienste (dumpsys), Fehlerprotokolle (dumpstate) und Protokolle für Systemmeldungen (logcat) enthält. Die Systemmeldungen enthalten Stacktraces, wenn das Gerät einen Fehler ausgibt, sowie Meldungen, die aus allen Apps mit der Klasse Log geschrieben wurden.

Die ZIP-Datei enthält die Metadatendatei version.txt, die den Android-Releasebrief enthält. Wenn Systrace aktiviert ist, enthält die ZIP-Datei auch eine systrace.txt-Datei. Das Systrace-Tool unterstützt Sie beim Analysieren der Leistung Ihrer App, indem es die Ausführungszeiten Ihrer App-Prozesse und anderer Android-Systemprozesse erfasst und anzeigt.

Das dumpstate-Tool kopiert Dateien aus dem Dateisystem des Geräts in die ZIP-Datei im Ordner FS, damit Sie darauf verweisen können. Eine /dirA/dirB/fileC-Datei auf dem Gerät würde beispielsweise einen FS/dirA/dirB/fileC-Eintrag in der ZIP-Datei generieren.

Abbildung 3: Dateistruktur des Fehlerberichts

Weitere Informationen finden Sie unter Fehlerberichte lesen.

Berichte von Nutzern erhalten

Das Erfassen von Fehlerberichten ist hilfreich, wenn Sie die App selbst verwenden. Ihre Endnutzer können diese Arten von Fehlerberichten jedoch nicht so einfach mit Ihnen teilen. Wenn Sie Absturzberichte mit Stacktraces von realen Nutzern erhalten möchten, nutzen Sie die Funktionen für Absturzberichte von Google Play und Firebase.

Google Play Console

In der Google Play Console können Sie Berichte zu Abstürzen und ANR-Fehlern (App antwortet nicht) von Nutzern abrufen, die Ihre App über Google Play installiert haben. Es sind Daten der letzten sechs Monate verfügbar.

Weitere Informationen finden Sie in der Play Console-Hilfe unter Abstürze und ANR-Fehler („App antwortet nicht“).

Firebase-Absturzberichte

Mit Firebase Crashlytics-Berichten werden detaillierte Berichte zu den Fehlern in Ihrer App erstellt. Fehler werden basierend auf ähnlichen Stacktraces in Probleme gruppiert und nach dem Schweregrad der Auswirkungen auf Ihre Nutzer gesichtet. Zusätzlich zu automatischen Berichten können Sie benutzerdefinierte Ereignisse protokollieren, um die Schritte, die zu einem Absturz geführt haben, zu erfassen.

Wenn Sie Absturzberichte von beliebigen Nutzern erhalten möchten, fügen Sie der Datei build.gradle die Firebase-Abhängigkeiten hinzu. Weitere Informationen finden Sie unter Firebase Crashlytics.