这个 崩溃捕捉和bug管理系统很早就使用了,非常好用,近来准备重构下自己的项目。顺便集成进去, 记录下使用流程。(其实官网已经介绍的非常清楚。)

1.https://work.bugtags.com/apps/create 添加应用(没号的就注册个账号),创建自己的应用,

2.他会生成 App Key: 52xxxxxxxxxxxxxxx25ad2

3.配置依赖。 项目根目录的 build.gradle 文件

1
2
3
4
5
6
7
8
buildscript {
...

dependencies {

classpath 'com.bugtags.library:bugtags-gradle:latest.integration'
}
}

4.app 目录下的 build.gradle

1
2
3
4
5
6
7
8
9
10
11
android {

useLibrary 'org.apache.http.legacy'

defaultConfig {
ndk {
// 设置支持的 SO 库构架
abiFilters 'armeabi'// 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64', 'mips', 'mips64'
}
}
}

//应用 Bugtags 插件
apply plugin: ‘com.bugtags.library.plugin’

//Bugtags 插件配置
bugtags {
//自动上传符号表功能配置,如果需要根据 build varint 配置,请参考插件详细使用说明
appKey “522d903xxxxxxxxxxx25ad2” //这里是你的 appKey
appSecret “APP_SECRET” //这里是你的 appSecret,管理员在设置页可以查看
mappingUploadEnabled true

//网络跟踪功能配置(企业版)
trackingNetworkEnabled true

}

dependencies {

compile ‘com.bugtags.library:bugtags-lib:latest.integration’
}

5.添加回调

在你的 Activity 基类(或所有的 Activity)中添加3个回调:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
package your.package.name;
import android.app.Activity;
import android.os.Bundle;
import android.view.MotionEvent;
import com.bugtags.library.Bugtags;

public class BaseActivity extends Activity{
@Override
protected void onResume() {
super.onResume();
//注:回调 1
Bugtags.onResume(this);
}

@Override
protected void onPause() {
super.onPause();
//注:回调 2
Bugtags.onPause(this);
}

@Override
public boolean dispatchTouchEvent(MotionEvent event) {
//注:回调 3
Bugtags.onDispatchTouchEvent(this, event);
return super.dispatchTouchEvent(event);
}
}

6.初始化

继承 Application,在 onCreate() 方法中初始化 Bugtags:

1
2
3
4
5
6
7
8
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
//在这里初始化
Bugtags.start("522d90348xxxxxxxxxc25ad2", this, Bugtags.BTGInvocationEventBubble);
}
}

注意:看不到小球的https://docs.bugtags.com/zh/faq/android/icon-not-found.html
在手机应用管理里面,打开自己的应用, 权限管理-> 显示悬浮窗 -> 勾选

最后一个参数可以实现 Bugtags 的三种呼出方式,分别为:
BTGInvocationEventBubble // 悬浮小球,点击小球可以呼出 Bugtags 手动提交 Bug 的界面
BTGInvocationEventShake // 摇一摇,摇一摇可以呼出 Bugtags 手动提交 Bug 的界面
BTGInvocationEventNone // 静默,无法呼出 Bugtags 手动提交 Bug 的界面,只会自动收集并上报崩溃信息