集成腾讯Bugly日志收集接入详细步骤和错误解决方案-- Android
Posted 放梦追逐-李超
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了集成腾讯Bugly日志收集接入详细步骤和错误解决方案-- Android相关的知识,希望对你有一定的参考价值。
Bugly 是腾讯公司为移动开发者开放的服务之一,这里主要指 Crash 监控、崩溃分析等质量跟踪服务。
一、登录BUGLY官网
1、登录BUGLY官网以后,选择新建产品,选择ios或ADNROID平台,如图:
完事以后点击保存,点击当前项目查看详细信息:
主要有:异常上报(异常概览、崩溃分析、卡顿分析、高级搜索、异常配置)、运营统计(运营概览、用户分析、渠道分析)、应用升级
2、选择右上角更多,点击产品设置,查看项目的APP ID和APP KEY,如图:
3、下载SDK,选择右上角,SKD,NDK,符号表工具下载,如图:
下载以后进行解压。
二、android项目接入SDK(详细请查看官网提供的接入文档和高级功能文档)
1、库文件导入
Bugly支持JCenter仓库和Maven Central仓库。为了实现更加灵活的配置,Bugly SDK(2.1.5及以上版本)和NDK(SO库)目前已经分开成两个独立的仓库:
· SDK:com.tencent.bugly:crashreport
· NDK:com.tencent.bugly:nativecrashreport
其中,集成Bugly NDK时,需要同时集成Bugly SDK。
2、选择合适的NDK库,我们选择使用的是armeabi下面的libBugly.so库:
Bugly NDK包含多个架构的SO库:
armeabi
armeabi-v7a
arm64-v8a
x86
x86_64
在集成Bugly SO库时,请注意只保留支持的架构SO库,复制到项目中的libs/armeabi文件夹下面,如图:
3、将Bugly库文件(bugly_crash_release.jar)复制到工程的libs目录下,Refresh一下工程,添加工程依赖:鼠标右键点击Bugly的JAR文件,添加到编译路径中,如图:
4、参数配置:
在AndroidManifest.xml中添加权限:
<!--bugly配置权限start-->
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.READ_LOGS" />
<!--bugly配置权限end-->
在“AndroidManifest.xml”的“Application”中增加“meta-data”配置项:
<application
<!-- 配置APP ID -->
<meta-data android:name="BUGLY_APPID"
android:value="<APP_ID>" />
<!-- 配置APP版本号 -->
<meta-data android:name="BUGLY_APP_VERSION"
android:value="<APP_Version>" />
<!-- 配置APP渠道号 -->
<meta-data android:name="BUGLY_APP_CHANNEL"
android:value="<APP_Channel>" />
<!-- 配置Bugly调试模式(true或者false)-->
<meta-data android:name="BUGLY_ENABLE_DEBUG"
android:value="<isDebug>" />
</application>
不同于“android:versionName”,“BUGLY_APP_VERSION”配置的是Bugly平台的APP版本号,这后台可以看到详细的版本,可以跟包的版本不一致,如图:
5、初始化SDK
1.最简单的初始化
获取APP ID并将以下代码复制到项目Application类onCreate()中,Bugly会为自动检测环境并完成配置:
CrashReport.initCrashReport(getApplicationContext(), "注册时申请的APPID", false);
为了保证运营数据的准确性,建议不要在异步线程初始化Bugly。
第三个参数为SDK调试模式开关,调试模式的行为特性如下:
· 输出详细的Bugly SDK的Log;
· 每一条Crash都会被立即上报;
· 自定义日志将会在Logcat中输出。
建议在测试阶段建议设置成true,发布时设置为false。
详细代码如图所示:
注意,如果通过UserStrategy设置了版本号和渠道号,则会覆盖“AndroidManifest.xml”里面配置的版本号和渠道。
两个回调返回的数据将伴随Crash一起上报到Bugly平台,并展示在附件中:
注意,需要尽量保证回调的逻辑简单和稳定,绝对不能在回调中Kill掉进程,否则会影响Crash的上报。如果需要执行类似于Crash之后Kill掉进程并重新拉起的动作,建议自定义一个Crash handler,并在初始化Bugly之前注册。(BUGLY初始化一定要放到其他的之后,否则会有影响,查这个BUG也是查了好久)
6、测试接口
现在您可以制造一个Crash(建议通过“按键”来触发),来体验Bugly的能力了。在初始化Bugly的之后,调用Bugly测Java Crash接口。您可以在“崩溃”页面看到刚才触发的Crash issue了(注意,延迟一般在10s以内)。
代码如图:
Log日志:
调用崩溃测试接口:
调用崩溃测试接口Log日志:
手机上Android程序直接崩溃退出。
三、后台日志显示
1、选择上面异常上报,左边点击崩溃分析,数据如图所示:
详细错误日志:
表明崩溃日志已经上传成功,并且上传了自己定义的数据,以key-value形式。
选择跟踪数据, 查看自定义上传数据:
打开extraMessage.txt,如图所示:
2、自定义上传数据:
选择异常上报,错误分析,如图:
这表明自定义数据上传成功。
点击去以后的详细信息:
堆栈日志:
3、异常配置
在异常配置中,可以添加告警配置,可以设置发生各种崩溃或错误的概率,然后通知微信,同时每天也会发邮箱Bugly日志简书。
详细文档请参考:https://bugly.qq.com/docs/
三、为什么我完成了Bugly集成,页面还是看不到日志及其他信息的解决办法
1、检查这些操作时候正确,如图:
网址:https://bugly.qq.com/docs/user-guide/faq-android/?v=20180119105842
2、与其他的一些异常处理器冲突,所以初始化的时候放在其他的初始化后面,最好放在所有初始化完成之后进行Bugly的初始化。
3、如果都没有问题,后台还是收集不到日志,登录到后台,选择右上角更多,产品设置,删除产品,重新创建,然后修改APP ID进行重试,我试了几次不行,这样进行操作以后就可以了,如图:
选择删除产品:
删除成功以后,重新创建新的产品,然后再进行测试。
欢迎下方留言谈论,或者加入QQ群83459374交流!
以上是关于集成腾讯Bugly日志收集接入详细步骤和错误解决方案-- Android的主要内容,如果未能解决你的问题,请参考以下文章
集成腾讯Bugly日志收集接入详细步骤和错误解决方案-- IOS
集成腾讯Bugly日志收集接入详细步骤和错误解决方案-- IOS