A bug report contains device logs, stack traces, and other diagnosticinformation to help you find and fix in your app. デバイスの [Take bug report] 開発者オプション、Android Emulator メニュー、または開発マシンの adb bugreport
コマンドのいずれかを使用して、デバイスからバグレポートをキャプチャすることができます。 開発者向けオプション
バグレポートを作成するには、デバイスの開発者向けオプションを有効にして、バグレポートを作成オプションにアクセスできるようにする必要があります。 バグ報告の準備完了
デバイスから直接バグ報告を取得するには、次のようにします:
- 開発者向けオプションを有効にしていることを確認します。
- 開発者向けオプションで、バグ報告を取るをタップします。
- バグレポートの種類を選択し、「報告」をタップします。
しばらくすると、バグレポートができたという通知が表示されます(図2参照)。
Capture a bug report from the Android Emulator
From the Android Emulator, you can use the File a bugfeature in the extended controls:
- Click More in theemulator panel.
-
Extended controls ウィンドウで、左側の Bug report を選択します。
スクリーンショット、AVD 設定情報、バグ報告ログなど、バグ報告の詳細を確認できる画面が表示されます。
-
バグレポートの収集が終了するのを待ち、[レポートの保存]をクリックします。
adb
を使用してバグレポートを取得する
接続されているデバイスが 1 つだけの場合、次のようにadb
を使用してバグレポートを取得できます。
$ adb devicesList of devices attachedemulator-5554 device8XV7N15C31003476 device$ adb -s 8XV7N15C31003476 bugreport
Inspect the bug report ZIP file
デフォルトでは、ZIPファイルの名前はbugreport-BUILD_ID-DATE.zip
で、複数のファイルが入っていますが、最も重要なファイルはbugreport-BUILD_ID-DATE.txt
です。 これはバグレポートで、システムサービスの診断出力(dumpsys
)、エラーログ(dumpstate
)、システムメッセージログ(logcat
)が含まれています。 システム メッセージには、デバイスがエラーをスローしたときのスタック トレースや、Log
クラスを持つすべてのアプリから書き込まれたメッセージが含まれます。
ZIP ファイルには、Android リリース レターを含む version.txt
メタデータ ファイルと、sysトレースを有効にすると、systrace.txt
ファイルも含まれます。
dumpstate
ツールは、デバイスのファイルシステムからFS
フォルダー下のZIPファイルにファイルをコピーし、参照できるようにします。 たとえば、デバイス内の /dirA/dirB/fileC
ファイルは、ZIP ファイル内に FS/dirA/dirB/fileC
エントリを生成します。 バグ報告ファイルの構造
詳細については、バグ報告の読み取りを参照してください。
Get reports from your users
上述のようにバグ報告をキャプチャすると、アプリを自分で使用している場合は便利ですが、エンドユーザーはこの種のバグ報告を簡単に共有することができません。
Google Play Console
Google Play Console からレポートを取得し、Google Play からアプリをインストールしたユーザーのクラッシュとアプリケーション未対応 (ANR) エラーのデータを表示することができます。
Firebase クラッシュ レポート
Firebase Crashlytics レポートでは、アプリのエラーの詳細なレポートが作成されます。 自動レポートに加えて、カスタム イベントを記録して、クラッシュに至る手順を把握することができます。
Firebase の依存関係を build.gradle
ファイルに追加するだけで、任意のユーザーからクラッシュ レポートを受信できるようになります。 詳細については、Firebase Crashlytics を参照してください。