本快速入門導覽課程說明如何使用 Firebase Crashlytics SDK 在應用程式中設定 Firebase Crashlytics,以便在 Firebase 控制台中取得完整的當機報告。使用 Crashlytics for Android,您可以取得當機、一般錯誤和「應用程式無回應」(ANR) 錯誤的報表。
設定 Crashlytics 時,您需要在 Firebase 控制台和 IDE 中執行作業 (例如新增 Firebase 設定檔和 Crashlytics SDK)。如要完成設定,您需要強制測試當機,將第一份當機報告傳送至 Firebase。
事前準備
如果尚未新增,請將 Firebase 新增至 Android 專案。如果沒有 Android 應用程式,可以下載範例應用程式。
建議:如要自動取得導覽標記記錄,瞭解使用者在發生當機、一般錯誤或 ANR 事件前執行的動作,請在 Firebase 專案中啟用 Google Analytics。
如果現有的 Firebase 專案未啟用 Google Analytics,您可以前往 Firebase 控制台的「
,然後在「 」>「專案設定」整合」分頁標籤中啟用 Google Analytics。 如果您要建立新的 Firebase 專案,請在專案建立工作流程中啟用 Google Analytics。
請確認應用程式的最低必要版本如下:
- Gradle 8.0
- Android Gradle 外掛程式 8.1.0 版
- Google 服務 Gradle 外掛程式 4.4.1 版
步驟 1:在應用程式中加入 Crashlytics SDK
<0x0<project>/<app-module>/build.gradle.kts
<project>/<app-module>/build.gradle
Crashlytics建議使用 Firebase Android BoM 控制程式庫版本。
如要使用追蹤記錄,請在應用程式中加入 Firebase SDK for Google Analytics。請務必在 Firebase 專案中啟用 Google Analytics。
dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:34.0.0")) // Add the dependencies for the Crashlytics NDK and Analytics libraries // When using the BoM, you don't specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-crashlytics-ndk") implementation("com.google.firebase:firebase-analytics") }
只要使用 Firebase Android BoM,應用程式就會一律使用相容的 Firebase Android 程式庫版本。
(替代做法) 不使用 BoM 新增 Firebase 程式庫依附元件
如果選擇不使用 Firebase BoM,則必須在依附元件行中指定每個 Firebase 程式庫版本。
請注意,如果應用程式使用多個 Firebase 程式庫,強烈建議使用 BoM 管理程式庫版本,確保所有版本都相容。
dependencies { // Add the dependencies for the Crashlytics NDK and Analytics libraries // When NOT using the BoM, you must specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-crashlytics-ndk:20.0.0") implementation("com.google.firebase:firebase-analytics:23.0.0") }
步驟 2:將 Crashlytics Gradle 外掛程式新增至應用程式
在根層級 (專案層級) Gradle 檔案 (
<project>/build.gradle.kts
或<project>/build.gradle
) 中,將 Crashlytics Gradle 外掛程式新增至plugins
區塊:Kotlin
plugins { // Make sure that you have the AGP plugin 8.1+ dependency id("com.android.application") version "8.1.4" apply false // ... // Make sure that you have the Google services Gradle plugin 4.4.1+ dependency id("com.google.gms.google-services") version "4.4.3" apply false // Add the dependency for the Crashlytics Gradle plugin id("com.google.firebase.crashlytics") version "3.0.5" apply false }
Groovy
plugins { // Make sure that you have the AGP plugin 8.1+ dependency id 'com.android.application' version '8.1.4' apply false // ... // Make sure that you have the Google services Gradle plugin 4.4.1+ dependency id 'com.google.gms.google-services' version '4.4.3' apply false // Add the dependency for the Crashlytics Gradle plugin id 'com.google.firebase.crashlytics' version '3.0.5' apply false }
在模組 (應用程式層級) Gradle 檔案 (通常是
<project>/<app-module>/build.gradle.kts
或<project>/<app-module>/build.gradle
) 中,新增 Crashlytics Gradle 外掛程式:Kotlin
plugins { id("com.android.application") // ... // Make sure that you have the Google services Gradle plugin id("com.google.gms.google-services") // Add the Crashlytics Gradle plugin id("com.google.firebase.crashlytics") }
Groovy
plugins { id 'com.android.application' // ... // Make sure that you have the Google services Gradle plugin id 'com.google.gms.google-services' // Add the Crashlytics Gradle plugin id 'com.google.firebase.crashlytics' }
步驟 3:強制測試當機以完成設定
您需要強制測試當機,才能完成設定 Crashlytics,並在 Firebase 控制台的 Crashlytics 資訊主頁中看見初始資料。
在應用程式中加入程式碼,強制測試當機。
您可以在應用程式的
MainActivity
中使用下列程式碼,在應用程式中新增按鈕,按下按鈕時會導致應用程式當機。按鈕標示為「Test Crash」。Kotlin
val crashButton = Button(this) crashButton.text = "Test Crash" crashButton.setOnClickListener { throw RuntimeException("Test Crash") // Force a crash } addContentView(crashButton, ViewGroup.LayoutParams( ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT))
Java
Button crashButton = new Button(this); crashButton.setText("Test Crash"); crashButton.setOnClickListener(new View.OnClickListener() { public void onClick(View view) { throw new RuntimeException("Test Crash"); // Force a crash } }); addContentView(crashButton, new ViewGroup.LayoutParams( ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT));
建構並執行應用程式。
強制測試當機,以便傳送應用程式的第一份當機報告:
在測試裝置或模擬器上開啟應用程式。
在應用程式中,按下您使用上述程式碼新增的「Test Crash」按鈕。
應用程式當機後,請重新啟動,以便將當機報告傳送至 Firebase。
前往 Firebase 控制台的Crashlytics 資訊主頁,查看測試當機情形。
如果重新整理控制台後,您在五分鐘內仍未看到測試當機,請啟用偵錯記錄,確認應用程式是否傳送當機報告。
這樣就完成了!Crashlytics 現在會監控應用程式的當機、一般錯誤和 ANR 情形。前往 Crashlytics 資訊主頁,即可查看及調查所有報表和統計資料。
後續步驟
- 自訂當機報告設定,新增選擇加入回報、記錄、鍵,以及追蹤非致命錯誤。
- 與 Google Play 整合,即可直接在 Crashlytics 資訊主頁中,依 Google Play 軌道篩選 Android 應用程式的當機報告。這樣一來,您就能更專注於特定建構版本。
-
在 Android Studio 中查看及篩選 Crashlytics 資料。
- 在 Android Studio 中使用「應用程式品質深入分析」 (AQI) 視窗,即可在程式碼旁查看 Crashlytics 資料,不必在 Crashlytics 資訊主頁和 IDE 之間來回切換,即可開始偵錯重大問題。
- 請參閱 Android Studio 說明文件,瞭解如何使用 AQI 視窗。
- 歡迎您將使用心得與我們分享!如要提供有關空氣品質指數視窗的意見,請回報錯誤。