腾讯Bugly是腾讯为广大开发者提供的bug管理平台,通过集成腾讯bugly,可以很方便地找到程序中所出现的各种bug,并通过bug追踪对bug进行处理,不仅能够向开发者展示出所出现的bug类型,而且可以显示出出现的bug的类,甚至是哪一行,有时还能提供出具体的解决办法,对广大开发者来说,腾讯所提供的这个平台非常地方便,能够极大地提高开发者在开发中的效率,关于具体的集成方案,可以在官方文档中进行查看,在下面也会对我在开发中的集成方式,做出一些简单的说明.
腾讯bugly管理提供了几种bug管理方案,分别是异常上报,应用升级,热更新,还有grandle插件,到目前为止,我只在项目中使用过异常上报这个工具,以后会在后续的博客中写出其他功能模块的具体使用方法,为大家带来新的技术方案,目前,就异常上报这个功能为大家说明一下具体的使用方法:
集成方法:
1.首先,你需要导入官方提供的SDK,官方提供了两种集成方式,不过因为如今在Andorod开发中,基本上都是用Android Studio进行开发,所以基本上都是用了第二种方式进行开发:在你的build.grandle文件中添加以下依赖:
dependencies {
compile 'com.tencent.bugly:crashreport:latest.release'
//其中latest.release指代最新Bugly SDK版本号,也可以指定明确的版本号,例如2.2.0
}
2.同时集成SDK和NDK
在Module的build.gradle文件中添加依赖和属性配置:
android {
defaultConfig {
ndk {
// 设置支持的SO库架构
abiFilters 'armeabi' //, 'x86', 'armeabi-v7a', 'x86_64', 'arm64-v8a'
}
}
}
dependencies {
compile 'com.tencent.bugly:crashreport:latest.release' //其中latest.release指代最新Bugly SDK版本号,也可以指定明确的版本号,例如2.1.9
compile 'com.tencent.bugly:nativecrashreport:latest.release' //其中latest.release指代最新Bugly NDK版本号,也可以指定明确的版本号,例如3.0
}
3.同时集成Bugly SDK和NDK的配置如下图所示,后续更新Bugly SDK和NDK时,只需变更配置脚本中的版本号即可。
4.在清单文件中需要添加以下权限
<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" />
混淆代码
-dontwarn com.tencent.bugly.**
-keep public class com.tencent.bugly.**{*;}
5.SDK的初始化需要在应用的入口处进行(一般在Application中进行)
CrashReport.initCrashReport(getApplicationContext(), "注册时申请的APPID", false);
传入的数据分别为上下文 APPID(需要在官网进行申请) 是否开启日志打印
6.测试
CrashReport.testJavaCrash();
如果在测试平台找到以下数据,说明你的集成没有问题,否则就需要查看具体的集成方案看看,你在继承中是否漏掉了哪些集成步骤
7.测试平台如何使用
在我的开发过程中,集成腾讯Bugly之后,检测出了非常多的问题,让人非常的头疼,其中有些问题是由于代码写的不规范造成的,到目前为止,检测出来的错误达到了1000余条,有些是bug,有些是一些无关紧要的问题,具体的大家可以看一下
不过,其中的一部分原因也在于我们,这个项目确实存在的问题太多了,不过这也正是反映了腾讯bugly对问题追踪的精细化,并将统计数据以图形化的方式显示出来,是开发者看起来一目了然,在具体的bug页面是以下面的方式展示的:
通过异常的内容,用户可以直接找到发生问题出现的原因,开发者也可以根据发生的时间,奔溃的次数,影响的用户人数,优先解决重大的bug,以此来及时的解决项目中所存在的问题,提高用户的体验,在具体的异常详情页,错误的内容提示地更加的细节化
根据异常的详情,用户可以很方便地找到异常出现的原因,在开发中是开发者非常好的帮手,希望这个工具以后能够对大家有所帮助,关于其他的功能模块,以后会在其他的博客中进行说明,敬请期待!