获取我们在 Firebase 峰会上发布的所有信息,了解 Firebase 可如何帮助您加快应用开发速度并满怀信心地运行应用。了解详情

开始使用 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 步:将 Crashlytics SDK 添加到您的应用程序

在您的模块(应用级)Gradle 文件(通常是<project>/<app-module>/build.gradle )中,添加 Crashlytics Android 库的依赖项。我们建议使用Firebase Android BoM来控制库版本控制。

为了获得 Crashlytics 的最佳体验,我们建议在您的 Firebase 项目中启用 Google Analytics ,并将适用于 Google Analytics 的 Firebase SDK 添加到您的应用中。

Java

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

    // Add 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 {
    // Add 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.3.2'
    implementation 'com.google.firebase:firebase-analytics:21.2.0'
}

Kotlin+KTX

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

    // Add 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 {
    // Add 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.3.2'
    implementation 'com.google.firebase:firebase-analytics-ktx:21.2.0'
}

第 2 步:将 Crashlytics Gradle 插件添加到您的应用程序

  1. 在您的根级(项目级) Gradle 文件 ( <project>/build.gradle ) 中,添加 Crashlytics Gradle 插件作为 buildscript 依赖项:

    buildscript {
        repositories {
          // Make sure that you have the following two repositories
          google()  // Google's Maven repository
          mavenCentral()  // Maven Central repository
        }
    
        dependencies {
            ...
            classpath 'com.android.tools.build:gradle:7.2.0'
    
            // Make sure that you have the Google services Gradle plugin dependency
            classpath 'com.google.gms:google-services:4.3.14'
    
            // Add the dependency for the Crashlytics Gradle plugin
            classpath 'com.google.firebase:firebase-crashlytics-gradle:2.9.2'
        }
    }
  2. 在您的模块(应用级) Gradle 文件(通常是<project>/<app-module>/build.gradle )中,添加 Crashlytics Gradle 插件:

    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 控制面板中查看初始数据,您需要强制测试崩溃。

  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 应用程序的崩溃报告。这使您可以更好地将仪表板集中在特定的构建上。