集成腾讯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群769397359交流!

猜你喜欢

转载自blog.csdn.net/u013007305/article/details/79668414