Check out what’s new from Firebase at Google I/O 2022. Learn more

開始使用 Firebase Crashlytics

本快速入門介紹如何使用 Firebase Crashlytics SDK 在您的應用中設置 Firebase Crashlytics,以便您可以在 Firebase 控制台中獲取全面的崩潰報告。使用 Crashlytics for Android,您可以獲得崩潰、非致命錯誤和“應用程序無響應”(ANR) 錯誤的報告。

設置 Crashlytics 需要在 Firebase 控制台和您的 IDE 中執行任務(例如添加 Firebase 配置文件和 Crashlytics SDK)。要完成設置,您需要強制測試崩潰以將您的第一個崩潰報告發送到 Firebase。

在你開始之前

  1. 如果您還沒有,請將 Firebase 添加到您的 Android 項目中。如果您沒有 Android 應用,可以下載示例應用

  2. 推薦:要獲得無崩潰用戶、麵包屑日誌和速度警報等功能,您需要在 Firebase 項目中啟用 Google Analytics。

    • 如果您現有的 Firebase 項目未啟用 Google Analytics,您可以從 Firebase 控制台中 >項目設置集成選項卡啟用 Google Analytics。

    • 如果您要創建新的 Firebase 項目,請在項目創建工作流程中啟用 Google Analytics。

第 1 步:將 Firebase Crashlytics SDK 添加到您的應用

使用Firebase Android BoM ,在模塊(應用級)Gradle 文件(通常是app/build.gradle )中聲明 Crashlytics Android 庫的依賴項。

為了獲得 Crashlytics 的最佳體驗,我們建議在您的 Firebase 項目中啟用 Google Analytics ,並將適用於 Google Analytics 的 Firebase SDK 添加到您的應用中。

Java

dependencies {
    // Import the BoM for the Firebase platform
    implementation platform('com.google.firebase:firebase-bom:30.0.1')

    // Declare the dependencies for the Crashlytics and Analytics libraries
    // When using the BoM, you don't specify versions in Firebase library dependencies
    implementation 'com.google.firebase:firebase-crashlytics'
    implementation 'com.google.firebase:firebase-analytics'
}

通過使用Firebase Android BoM ,您的應用將始終使用兼容版本的 Firebase Android 庫。

(替代)使用 BoM 的情況下聲明 Firebase 庫依賴項

如果您選擇不使用 Firebase BoM,則必須在其依賴行中指定每個 Firebase 庫版本。

請注意,如果您在應用中使用多個Firebase 庫,我們強烈建議您使用 BoM 來管理庫版本,以確保所有版本都兼容。

dependencies {
    // Declare the dependencies for the Crashlytics and Analytics libraries
    // When NOT using the BoM, you must specify versions in Firebase library dependencies
    implementation 'com.google.firebase:firebase-crashlytics:18.2.10'
    implementation 'com.google.firebase:firebase-analytics:21.0.0'
}

Kotlin+KTX

dependencies {
    // Import the BoM for the Firebase platform
    implementation platform('com.google.firebase:firebase-bom:30.0.1')

    // Declare the dependencies for the Crashlytics and Analytics libraries
    // When using the BoM, you don't specify versions in Firebase library dependencies
    implementation 'com.google.firebase:firebase-crashlytics-ktx'
    implementation 'com.google.firebase:firebase-analytics-ktx'
}

通過使用Firebase Android BoM ,您的應用將始終使用兼容版本的 Firebase Android 庫。

(替代)使用 BoM 的情況下聲明 Firebase 庫依賴項

如果您選擇不使用 Firebase BoM,則必須在其依賴行中指定每個 Firebase 庫版本。

請注意,如果您在應用中使用多個Firebase 庫,我們強烈建議您使用 BoM 來管理庫版本,以確保所有版本都兼容。

dependencies {
    // Declare the dependencies for the Crashlytics and Analytics libraries
    // When NOT using the BoM, you must specify versions in Firebase library dependencies
    implementation 'com.google.firebase:firebase-crashlytics-ktx:18.2.10'
    implementation 'com.google.firebase:firebase-analytics-ktx:21.0.0'
}

第 2 步:將 Firebase Crashlytics 插件添加到您的應用

  1. 在您的項目級build.gradle文件中,添加 Crashlytics Gradle 插件作為 buildscript 依賴項。

    buildscript {
        repositories {
            // Check that you have Google's Maven repository (if not, add it).
            google()
        }
    
        dependencies {
            // ...
    
            // Check that you have the Google services Gradle plugin v4.3.2 or later
            // (if not, add it).
            classpath 'com.google.gms:google-services:4.3.10'
    
            // Add the Crashlytics Gradle plugin
            classpath 'com.google.firebase:firebase-crashlytics-gradle:2.8.1'
        }
    }
    
    allprojects {
        repositories {
            // Check that you have Google's Maven repository (if not, add it).
            google()
        }
    }
  2. 在您的應用級build.gradle文件中,應用 Crashlytics Gradle 插件:

    apply plugin: 'com.android.application'
    apply plugin: 'com.google.gms.google-services' // Google services Gradle plugin
    
    // Apply the Crashlytics Gradle plugin
    apply plugin: 'com.google.firebase.crashlytics'
    

第 3 步:強制測試崩潰以完成設置

要完成 Crashlytics 的設置並在 Firebase 控制台的 Crashlytics 控制面板中查看初始數據,您需要強制測試崩潰。

  1. 向您的應用添加可用於強制測試崩潰的代碼。

    您可以在應用程序的MainActivity中使用以下代碼向應用程序添加一個按鈕,按下該按鈕會導致崩潰。該按鈕標記為“測試崩潰”。

    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));
    

    Kotlin+KTX

    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))
    
  2. 構建並運行您的應用程序。

  3. 強制測試崩潰以發送您的應用的第一個崩潰報告:

    1. 從您的測試設備或模擬器打開您的應用程序。

    2. 在您的應用程序中,按下您使用上述代碼添加的“測試崩潰”按鈕。

    3. 在您的應用崩潰後,重新啟動它,以便您的應用可以將崩潰報告發送到 Firebase。

  4. 轉到 Firebase 控制台的Crashlytics 儀表板以查看您的測試崩潰。

    如果您已刷新控制台,但五分鐘後仍未看到測試崩潰,請啟用調試日誌記錄以查看您的應用是否正在發送崩潰報告。


就是這樣! Crashlytics 現在正在監控您的應用程序是否存在崩潰、非致命錯誤和 ANR。訪問Crashlytics 儀表板以查看和調查您的所有報告和統計信息。

下一步

  • 與 Google Play 集成,以便您可以直接在 Crashlytics 儀表板中按 Google Play 跟踪過濾您的 Android 應用程序的崩潰報告。這使您可以更好地將儀表板集中在特定的構建上。