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

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

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

Firebase控制台新建项目(需要使用Google账户登录),配置好Android应用后下载google-service.json文件,将google-service.json文件添加到项目的app目录下。

(1)添加项目时填写项目名称、项目id使用默认的就可以、选择国家、底部的两个勾选项要么都选,要么都不选,表示是否和Google分享你的app分析数据,最后点击创建项目即可。

(2)Firebase的项目不止是为Android打造的,可以在项目中添加Android应用,IOS应用,网页应用。那么我们先要为这个项目添加一个Android应用:




选择“将Firebase添加到您的安卓应用”,然后填写app包名,app别名可以选填,调试签名证书SHA1,调试签名证书SHA1可以通过命令行获取:

Mac环境:

keytool -exportcert -list -v \
-alias androiddebugkey -keystore ~/.android/debug.keystore


Windows环境:

keytool -exportcert -list -v \
-alias androiddebugkey -keystore %USERPROFILE%\.android\debug.keystore


输入命令行后需要输入密钥库口令,默认的密钥库口令是android

获取正式签名证书SHA1的命令行:

keytool -exportcert -list -v \
-alias <your-key-name> -keystore <path-to-production-keystore>

在<your-key-name>填入密钥名,<path-to-production-keystore>填入密钥路径,然后输入密钥库口令即可获取SHA1。

4.添加好Android应用后,下载google-service.json文件,添加到项目的app目录下。




二、集成Crashlytics,然后Firebase自动打印程序错误信息

项目级 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.0.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.1'
    implementation 'com.crashlytics.sdk.android:crashlytics:2.9.3'
}
apply plugin: 'com.google.gms.google-services'

将 SDK 添加到您的应用后,Crashlytics 就会立即自动开始监听并收集崩溃报告。在Firebase控制台的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,然后Firebase自动打印程序错误信息 的功能。



猜你喜欢

转载自blog.csdn.net/alpinistwang/article/details/80841519
今日推荐