はじめに
現在のAndroid Studioのバージョンである「Electric Eel」において、Crashlyticsレポートを表示することができるApp Quality Insightsという機能が導入されました。
今回は、Firebaseは導入済みだけれど、Crashlyticsはまだ使ったことがない開発者の方向けに記事を書きました。
プロジェクトでのCrashlyticsの導入から、Android StudioでApp Quality Insightsを使ってそのレポート内容を確認する方法までをざっくりとカバーしておりますので、開発の際のご参考にしていただけると幸いです。
Firebase SDK自体の導入については解説しておりませんのでご注意ください。
Crashlytics for Androidを使うメリット
Crashlytics for Androidを使うことによって、次のレポートを取得することができます。
- クラッシュ
- 致命的でないエラー
- アプリケーションが応答しません(ANR)エラー
依存関係を追加する
追加しないといけない依存関係としては、大きく分けると二つ存在します。
- Crashlytics SDK
- Crashlytics Gradle プラグイン
Crashlytics SDKを追加する
com.google.firebase:firebase-crashlytics-ktx
とcom.google.firebase:firebase-analytics-ktx
の両方をモジュールのbuild.gradleに追加します。
dependencies {
implementation platform('com.google.firebase:firebase-bom:31.2.0')
implementation 'com.google.firebase:firebase-crashlytics-ktx'
implementation 'com.google.firebase:firebase-analytics-ktx'
}
Crashlytics Gradle プラグイン
次に、ルートディレクトリに存在するbuild.gradleにビルドスクリプトの依存関係としてCrashlytics Gradle プラグインを導入します。
buildscript {
...
dependencies {
...
classpath 'com.android.tools.build:gradle:7.2.0'
classpath 'com.google.gms:google-services:4.3.15'
classpath 'com.google.firebase:firebase-crashlytics-gradle:2.9.2'
}
}
最後にモジュールのbuild.gradleにcom.google.firebase.crashlytics
を追加します。
plugins {
id 'com.google.gms.google-services'
id 'com.google.firebase.crashlytics'
}
わざとクラッシュを発生させて、最初のクラッシュレポートを送信させる
次に、MainActivityのonCreate()
内で、次のコードを実行させてクラッシュさせます。
throw RuntimeException("Test Crash")
アプリを実行させて、次のエラーが発生することを確認します。
FATAL EXCEPTION: main
Process: com.takagimeow.myapplication.debug, PID: 8601
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.takagimeow.myapplication.debug/com.takagimeow.myapplication.ui.MainActivity}: java.lang.RuntimeException: Test Crash
そして、Firebase ConsoleのCrashlyticsページを開いて、MainActivityにおいてTest Carshと書かれたクラッシュが記録されていることを確認できれば設定完了です。
Android StudioでGoogle開発者アカウントにログイン
次の順番で、メニューからApp Quality Insightsウィンドウを開きます。
View -> Tool Windows -> App Quality Insights
そして、画面上に表示されているLoginをクリックします。
許可をクリックします。
**Success!**という画面が表示されたログインに成功です。
これで、Android Studioにて、Firebase Crashlyticsのレポートを表示することができるようになりました。
App Quality Insightsの機能
App Quality Insightsウィンドウ内のリンクをクリックすると、クラッシュに関連するコード内の行にジャンプすることができるようになります。
しかし、現在のコードとビルドした時のコードの内容に乖離がある場合はズレが発生する可能性があるそうなので使用する際は注意が必要です。
クラッシュアイコン
実は、エディターウィンドウの左側のクラッシュと関連のある行の横にクラッシュアイコンが表示されます。これにより、ひとめでどこでクラッシュが発生したのかも確認できるようになっています。
Notes機能
右側のNotesというタブを開くと、Android Studioからクラッシュレポートに対して、コメントなどを付けることが可能となっています。
これは、Firebase プロジェクトにアクセス可能な他のメンバーも含めたチーム全体に共有することが可能なようです。
Close機能
Closeボタンをクリックして、更新ボタンをクリックするとウィンドウから該当のレポートを非表示にすることができます。もし間違った場合は更新される前にUndo closeをクリックして元に戻してください。
参考にした記事