Catch up on everthing we announced at this year's Firebase Summit. Learn more

開始使用 Firebase Crashlytics

本快速入門介紹瞭如何使用 Firebase Crashlytics SDK 在您的應用中設置 Firebase Crashlytics,以便您可以在 Firebase 控制台中獲得全面的崩潰報告。隨著Crashlytics為Android,你會得到崩潰報告,非致命錯誤,以及“應用無響應”(ANR)錯誤。

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

在你開始之前

  1. 如果你還沒有,添加火力地堡到您的Android項目。如果你沒有一個Android應用程序,你可以下載一個示例應用程序

  2. 建議:為了讓喜歡自由碰撞用戶,麵包屑日誌和警報速度的功能,您需要啟用谷歌Analytics(分析)在您的火力地堡項目。

    • 如果現有的火力地堡的項目沒有啟用谷歌分析,您可以啟用谷歌Analytics(分析) 集成選項卡中的 >項目設置在火力地堡控制台。

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

第1步:在火力地堡控制台啟用Crashlytics

  1. 轉至Crashlytics儀表盤在火力地堡控制台。

  2. 請確保您的應用程序從下拉列表中選擇旁邊Crashlytics在頁面的頂部。

  3. 單擊啟用Crashlytics。

第2步:添加火力地堡Crashlytics SDK到您的應用

使用火力地堡Android的物料清單,聲明你的模塊(應用程序級)搖籃文件(通常為Crashlytics的Android庫的依賴app/build.gradle )。

對於Crashlytics最佳體驗,我們建議讓谷歌Analytics(分析)在您的火力地堡項目,並添加火力地堡SDK為谷歌Analytics(分析)應用程式。

爪哇

dependencies {
    // Import the BoM for the Firebase platform
    implementation platform('com.google.firebase:firebase-bom:29.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'
}

通過使用火力地堡Android的物料清單,您的應用程序將始終使用火力地堡的Android庫的兼容版本。

(替代)聲明火力地堡庫依賴使用物料清單

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

需要注意的是,如果你在你的應用程序使用多個火力地堡庫,我們強烈建議您使用的物料清單管理庫版本,以保證所有版本相互兼容。

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.5'
    implementation 'com.google.firebase:firebase-analytics:20.0.0'
}

科特林+KTX

dependencies {
    // Import the BoM for the Firebase platform
    implementation platform('com.google.firebase:firebase-bom:29.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'
}

通過使用火力地堡Android的物料清單,您的應用程序將始終使用火力地堡的Android庫的兼容版本。

(替代)聲明火力地堡庫依賴使用物料清單

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

需要注意的是,如果你在你的應用程序使用多個火力地堡庫,我們強烈建議您使用的物料清單管理庫版本,以保證所有版本相互兼容。

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.5'
    implementation 'com.google.firebase:firebase-analytics-ktx:20.0.0'
}

第3步:在火力地堡Crashlytics插件添加到您的應用程序

  1. 項目級build.gradle文件中添加Crashlytics搖籃插件作為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搖籃插件:

    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'
    

第4步:強制碰撞試驗,完成安裝

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

  1. 將可用於強制測試崩潰的代碼添加到您的應用程序。

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

    爪哇

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

    科特林+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. 轉至Crashlytics儀表盤的火力地堡控制台上看到你的測試崩潰。

    如果您刷新控制台,您還是看不到五分鐘後測試崩潰,啟用調試日誌記錄,看看你的應用正在發送崩潰報告。


就是這樣! Crashlytics 現在正在監控您的應用是否有崩潰、非致命錯誤和 ANR。訪問Crashlytics儀表盤來查看和調查所有報告和統計數據。

下一步