
在2016年的Google IO大会上,Google 公布了若干有关Firebase有意思的新特性。全新的Firebase添加了全新的工具,将成为统一移动应用开发的平台,帮助开发者快速开发,提高应用的开发质量,吸引用户和从应用中盈利。你可以从Firebase新官网和YouTube视频查看更多。
在Firebase更新的一些新特性包括:
- Firebase 分析
- Firebase 云信息
- Firebase 测试实验室和崩溃报告
- Firebase 通知、动态链接、App 索引、广告、邀请等等
在这里文章中,我们来共同学习一下如何在Androids上使用Firebase的崩溃报告。
如何使用?
Firebase 3.0 需要运行在Google服务9.0或者更高的环境上,需要将Firebase添加到Android Studio中,你需要执行一下的操作步骤:
请求前的准备
确保你的开发环境已经满足于以下的这些前提条件:
- 需要运行在一个支持Google服务是9.0.0或者更高的Android设备上
- 需要Android SDK 管理器中已经安装了Google 服务的相关插件文件,且是3.0.0或者更高版本。
- 需要Android Studio 的版本是1.5或者更高版本。
- 需要有一个Android项目,可以是已存在的或者新项目,同时拿到它的包名备用。
添加Firebase到应用
这一步,需要添加Firebase到你的应用中,你需要到Firebase console上去创建一个Firebase的项目。
点击Create New Project(如果你开始一个新的项目)或者import Google Project(如果你导入一个已经存在的项目),我这里创建一个新的项目。
Firebase支持多平台,Android、IOS、Web.我们这里是以Android为例
现在,在你的APP应用里面,点击Add Firebase to your Android app
将会弹出一个对话框让你输入: 包名和SHAI
SHAI的获取办法:
keytool -exportcert -list -v
-alias androiddebugkey -keystore %USERPROFILE%.android\debug.keystore (Windows)
keytool -exportcert -list -v
-alias androiddebugkey -keystore ~/.android/debug.keystore (mac/linux)
我的系统环境是linux,故使用后者命令,在终端执行并获得SHAI:
将包名和SHAI填入输入框内,点击ADD APP,随后你将会下载一个google-services.json的配置文件,根据页面提示,放到项目里指定位置。
将google-services.json文件放到project层级下的app目录下:
添加SDK到应用
你的应用中要使用Firebase,你需要添加和设置SDK到你的应用中去,首先,添加以下行到你的项目根下的builde.gradle文件中去:
1 | buildscript { |
然后在你的app模块的build.gradle文件中,在文件的底部应用这个Google服务的插件
你的builde.gradle应该是这个样子的:
1 | apply plugin: 'com.android.application' |
然后点击Sync now同步一下文件
设置崩溃报告
现在,到了设置崩溃报告了,你需要添加Firebase崩溃报告依赖,你需要到你模块的build.gradle文件中去添加如下行:
1 | compile 'com.google.firebase:firebase-crash:9.0.1' |
那么你的build.gradle文件大概就是这个样子:
apply plugin: 'com.android.application'
android {
// ...
}
dependencies {
// ...
compile 'com.google.firebase:firebase-crash:9.0.1'
}
// ADD THIS AT THE BOTTOM
apply plugin: 'com.google.gms.google-services'
然后点击Sync now同步一下文件
创建一个崩溃报告
以上的操作已经完成了所有的配置,现在我们来创建一个崩溃报告。
我在项目的MainActivity中这样定义,模拟测试一个java.lang.NullPointerException的崩溃异常的情况:
定义一个TextView,但是不给它实例化对象,此时Textview对象为null,然后给它赋值一个字符串显示,给一个为空的对象赋值就会抛出java.lang.NullPointerException异常,以下是测试代码
当程序运行后,log中抛出了异常,但是程序没有崩溃退出,以下是本地log:
回到Firebase控制台查看,点击左侧的crash,大于20分钟左右,就能看到上传的java.lang.NullPointerException崩溃报告
点击上图异常日志中的超链接,可以跳转到以下界面,在这里可以看到java.lang.NullPointerException相关的详细数据等
这里可以看到测试的java.lang.NullPointerException具体行数在MainActivity.onCreate(MainActivity.java:18)
以上简单的介绍了如何在App应用中使用Firebase崩溃日志报告的相关内容,有关Firebase的其他特性,后续总结。如果不足,欢迎指正,谢谢。