Bugly官网
Bugly使用说明
库文件导入
Bugly支持自动集成和手动集成两种方式
自动集成
在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
}
手动集成
- 下载Bugly的Android SDK包;
- 如果工程有Native代码(C/C++)或者集成了其他第三方SO库,建议下载Bugly的NDK动态库。
Android Studio工程
- 将Bugly库文件复制到工程的libs目录下;
- 如果集成Bugly NDK,则在Module的buid.gradle文件中添加SO库目录配置:
android {
sourceSets {
main.jniLibs.srcDirs = ['libs']
}
}
点击Sync,同步配置
参数设置
在AndroidManifest.xml中添加权限:
<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,在Proguard混淆文件中增加一行配置:
-keep public class com.tencent.bugly.**{*;}
Bugly初始化
获取APP ID并将以下代码复制到项目Application类onCreate()中,Bugly会为自动检测环境并完成配置:
CrashReport.initCrashReport(getApplicationContext(), "注册时申请的APPID", false);
为了保证运营数据的准确性,建议不要在异步线程初始化Bugly。
测试
现在您可以制造一个Crash,来体验Bugly的能力了。在初始化Bugly的之后,调用Bugly测Java Crash接口。
现在您已经可以在“崩溃”页面看到刚才触发的Crash issue了(延迟一般在10s以内)。
如果项目包含了Native工程或者使用了代码混淆,建议配置符号表文件,具体请参考“符号表配置”