Android Firebase接入(三)--Firebase 崩溃日志报告(Crashlytics)

本文详细介绍如何在Android应用中集成Firebase Crashlytics,包括配置应用、集成SDK、控制台配置及手动打印日志,助您轻松实现应用崩溃报告的自动化收集。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简介

Firebase崩溃日志报告可以自动记录应用内崩溃信息,只需简单的几步,就可以将Firebase Crashlytics添加到安卓工程中,然后Firebase Crashlytics就会自动的收集应用内崩溃信息,包括错误类型,代码定位等等,非常的方便实用。

接入

一、配置Android应用并下载google-service.json文件:

配置步骤见本系列第一篇文章:Android Firebase接入(序)–Firebase简介以及Firebase官方Demo的使用中的 “配置Android应用并下载google-service.json文件”

二、集成Crashlytics SDK

项目级 build.gradle(<项目>/build.gradle):添加classpath和maven

buildscript {
    repositories {
        ...
        maven { url 'https://maven.google.com'  }
        maven { url 'https://maven.fabric.io/public' }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.3'
        classpath 'com.google.gms:google-services:4.1.0'
        classpath 'io.fabric.tools:gradle:1.25.1'
    }
}

allprojects {
    repositories {
        ...
        maven { url 'https://maven.google.com' }
    }
}

...

应用级 build.gradle(<项目>/<应用模块>/build.gradle),添加implementation和apply plugin

...
apply plugin: 'io.fabric'
android{
    ...
}
dependencies {
    ...
    implementation 'com.google.firebase:firebase-core:16.0.3'
    implementation 'com.crashlytics.sdk.android:crashlytics:2.9.5'
}
apply plugin: 'com.google.gms.google-services'

将 SDK 添加到您的应用后,在Firebase控制台的Crashlytics中进行配置,Crashlytics 就会立即自动开始监听并收集崩溃报告。

三、Firebase控制台配置Crashlytics

Crashlytics配置步骤:
在Firebase控制台的Crashlytics模块:

点击设置Crashlytics,到达以下界面:

选择“是,此应用是第一次安装 Crashlytics”,到达以下界面:

点击“转至Crashlytics文档”,此时会打开一个新标签页,即Crashlytics文档,把新标签页直接关掉即可,这里就会到第三步:

第三步是“构建并运行您的应用,我们将侦听您的应用与我们的服务器通信的请求。”,也就是让我们运行刚才已添加上Crashlytics的项目,Firebase会自动监听我们的app,如果我们的app已经安装上Crashlytics,这里就会跳转到Crashlytics崩溃报告页面。

经过博主亲测,最好在代码里加上手动调用崩溃日志,帮助Firebase更好的监听到我们的app,否则在这一步可能会等很久。在MainActivity中添加:

public class MainActivity extends AppCompatActivity {
    private static final String TAG = "MainActivity";
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Crashlytics.log(Log.DEBUG, TAG, "Crash");
    }
}

然后在电脑上连上手机,运行app,Firebase就会自动监听我们的app是否安装了Crashlytics,监听到之后会看到以下页面:

点击转至Crashlytics信息中心,就会看到崩溃分析页面了:

点击崩溃信息可以看到崩溃详情:

四、手动打印日志到Crashlytics

Crashlytics.log(Log.VERBOSE, TAG, "Crash");
Crashlytics.log(Log.DEBUG, TAG, "Crash");
Crashlytics.log(Log.INFO, TAG, "Crash");
Crashlytics.log(Log.WARN, TAG, "Crash");
Crashlytics.log(Log.INFO, TAG, "Crash");
Crashlytics.log(Log.ASSERT, TAG, "Crash");
Crashlytics.logException(new Throwable());

调用Crashlytics.log(int priority, String tag, String msg)方法即可,第一个参数是日志级别,和Android Studio的Log日志级别是一样的,第二个参数是Tag标签,第三个参数是打印的内容。Crashlytics还提供了一个打印错误日志的方法logException(Throwable throwable),传入一个错误信息即可。

手动打印日志很少用到,一般集成了Crashlytics之后,让Crashlytics自动打印程序错误信息即可。

<think>嗯,用户想在Android项目里集成Firebase Crashlytics来实现崩溃报告,我得一步一步来指导他们。首先,我需要确认用户是否已经创建了Firebase项目,因为这是基础。根据引用[3]和[4],创建Firebase项目是第一步,所以应该先让用户去Firebase控制台创建项目,并关联他们的应用。 然后,用户需要在Android项目中添加Firebase SDK。可能需要他们修改build.gradle文件,包括项目级和模块级的配置。记得要添加Crashlytics的依赖项,可能还有Google服务插件。这部分要详细说明,避免用户出错。 接下来,初始化Crashlytics。可能需要用户在Application类中调用Firebase的初始化方法,或者检查是否有现有的初始化代码。还要确保他们正确配置了插件,比如在build.gradle里应用Crashlytics的Gradle插件。 之后是测试崩溃报告的部分。需要指导用户如何主动制造一个崩溃,比如按钮点击抛出异常,然后验证是否能收到报告。还要提醒他们可能需要构建发布版本,或者配置ProGuard,如果有混淆的话。 另外,用户可能需要查看崩溃报告,所以得说明在Firebase控制台的哪里能找到Crashlytics的数据。可能还要提到实时报告是否开启,以及符号表上传的问题,特别是如果用了ProGuard的话,需要保留行号等信息。 可能的问题点:用户是否已经正确安装Google Services插件?他们的应用包名是否和Firebase项目里的一致?还有网络权限是否添加,虽然现在可能默认有,但最好确认一下。另外,如果用户遇到问题,可以建议他们清理项目重新构建,或者检查依赖版本是否兼容。 最后,生成相关问题的时候,应该围绕集成中的其他可能步骤,比如性能监控、身份验证,或者如何处理NDK崩溃,这些都是用户可能接下来会问的问题。</think>### 分步指南:Android集成Firebase Crashlytics实现崩溃报告 #### 1. **创建Firebase项目** - 访问 [Firebase控制台](https://console.firebase.google.com/) 创建新项目[^3][^4] - 点击「添加应用」选择Android平台,输入应用包名(需与`build.gradle`中的`applicationId`一致) #### 2. **添加Firebase配置文件** - 下载`google-services.json`文件并放置于`app/`模块目录下 ![配置示例](https://miro.medium.com/max/1400/1*U7kL2s9u2hE9q0LZQaXvRQ.png)[^2] #### 3. **配置项目级Gradle** ```gradle // 项目级 build.gradle buildscript { dependencies { classpath 'com.google.gms:google-services:4.3.15' // Google服务插件 classpath 'com.google.firebase:firebase-crashlytics-gradle:2.9.9' } } ``` #### 4. **配置应用级Gradle** ```gradle // 模块级 build.gradle apply plugin: 'com.google.gms.google-services' apply plugin: 'com.google.firebase.crashlytics' dependencies { implementation 'com.google.firebase:firebase-crashlytics:18.6.0' implementation 'com.google.firebase:firebase-analytics:21.5.0' } ``` #### 5. **初始化Crashlytics** ```java // 在Application类中初始化 FirebaseApp.initializeApp(this); FirebaseCrashlytics.getInstance().setCrashlyticsCollectionEnabled(true); ``` #### 6. **测试崩溃报告** ```java // 添加测试崩溃按钮 findViewById(R.id.crash_button).setOnClickListener(view -> { throw new RuntimeException("Test Crash"); // 手动触发崩溃[^1] }); ``` #### 7. **查看崩溃报告** - 运行应用并触发测试崩溃 - 等待5-10分钟后在Firebase控制台的 **Crashlytics** 面板查看数据 ![Crashlytics面板](https://miro.medium.com/max/1400/1*4pVk3x4y9k4L8h9J7QZJ7A.png) #### 高级配置建议: 1. **符号表上传**:在`build.gradle`中添加: ```gradle android { buildTypes { release { firebaseCrashlytics { mappingFileUploadEnabled true } } } } ``` 2. **自定义日志**:使用`FirebaseCrashlytics.log()`记录关键事件 3. **用户标识**:通过`setUserId()`关联用户信息
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值