【Android】简单好用易上手的Bug收集系统

前言

你可能遇到过这样的情景,在测试App功能时没有遇到过Bug,或者将出现的Bug处理好了,但当App正式上线后,用户在使用中却发生了程序奔溃,但是用户又重现不出来,也说不明白怎么操作导致了奔溃。这时,你一定为此苦恼。那么我们要怎么收集用户使用中出现的异常问题?有许多方法可以去收集用户的异常,比如try catch时上传异常报告。今天给大家介绍的,是腾讯提供的Bugly系统,它能简单有效的收集App在使用过程中发生的异常,而且在后台更能清楚了解到异常的发生次数、时间、详细信息等。

使用

登录和创建

首先在Bugly官网登录,登录后新建产品,填写产品名称、平台、类型、产品描述后保存,然后点击右侧的更多按钮,选择产品设置,就可以查看当前产品的App ID、App Key等详细信息。

集成

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。

这里强烈推荐自动集成方式:

在Module的build.gradle文件中添加依赖和属性配置:

dependencies {
    compile 'com.tencent.bugly:crashreport:latest.release' //其中latest.release指代最新Bugly SDK版本号,也可以指定明确的版本号,例如2.2.0
}

参数配置

  • 在AndroidManifest.xml中添加权限:





  • 请避免混淆Bugly,在Proguard混淆文件中增加以下配置:
-dontwarn com.tencent.bugly.**
-keep public class com.tencent.bugly.**{*;}

初始化

获取APP ID并将以下代码复制到项目Application类onCreate()中,Bugly会为自动检测环境并完成配置:

CrashReport.initCrashReport(getApplicationContext(), "注册时申请的APPID", false); 

为了保证运营数据的准确性,建议不要在异步线程初始化Bugly。

第三个参数为SDK调试模式开关,调试模式的行为特性如下:

  • 输出详细的Bugly SDK的Log;
  • 每一条Crash都会被立即上报;
  • 自定义日志将会在Logcat中输出。

建议在测试阶段建议设置成true,发布时设置为false。

测试

现在您可以制造一个Crash(建议通过“按键”来触发),来体验Bugly的能力了。在初始化Bugly的之后,调用Bugly测Java Crash接口。

CrashReport.testJavaCrash();

当你运行程序会,调用该方法,就会造成程序奔溃。
你就可以在“崩溃”页面看到刚才触发的Crash issue了(延迟一般在10s以内)。

你可能感兴趣的:(【Android】简单好用易上手的Bug收集系统)