Bugly Android 快速接入使用文档
转自:http://bugly.qq.com/androidsdk
一、库文件导入
如果您使用Gradle编译Apk,我们强烈推荐您使用自动接入方式配置库文件(JCenter仓库)。
方式1:自动导入(推荐)
在Module的buid.gradle文件中添加依赖和属性配置:
android { defaultConfig { ndk { //设置支持的SO库架构 abiFilters 'armeabi' //, 'x86', 'armeabi-v7a', 'x86_64', 'arm64-v8a' } } } dependencies { compile 'com.tencent.bugly:crashreport:latest.release'//其中latest.release指代最新版本号,也可以指定明确的版本号,例如1.2.8 }
后续更新Bugly SDK时,只需变更配置脚本中的版本号即可。
-
- 注意:自动集成时会自动包含Bugly SO库,建议在Module的build.gradle文件中使用NDK的“abiFilter”配置,设置支持的SO库架构。
- 如果在添加“abiFilter”之后Android Studio出现以下提示:
NDK integration is deprecated in the current plugin. Consider trying the new experimental plugin. - 【Bugly Android 快速接入使用文档】 则在项目根目录的gradle.properties文件中添加:
android.useDeprecatedNdk=true
如果您不采用上述自动导入方式,也可以手动集成Bugly SDK。
下载Bugly库文件
- 下载Bugly的Android SDK包;
- 如果您的工程有Native代码(C/C++)或者集成了其他第三方SO库,建议下载Bugly的NDK动态库。
- Bugly NDK包含多个架构的SO库:
- armeabi
- armeabi-v7a
- arm64-v8a
- x86
- x86_64
- 在集成Bugly SO库时,请注意只保留支持的架构SO库。
- Bugly NDK包含多个架构的SO库:
- 将Bugly库文件复制到工程的libs目录下;
- Refresh一下工程;
- 添加工程依赖:鼠标右键点击Bugly的JAR文件,添加到编译路径中。
-
- 将Bugly库文件复制到工程的libs目录下;
- 如果集成Bugly NDK,则在Module的buid.gradle文件中添加SO库目录配置:
android { sourceSets { main.jniLibs.srcDirs = ['libs'] } }
- 点击Sync,同步配置。
- 纯Java代码的工程:只需要配置混淆后生成的Mapping文件即可;
- 含有Native代码的工程:建议配置符号表工具从Debug SO中提取的Symbol符号表文件。
二、参数配置 在AndroidManifest.xml中添加权限:
请避免混淆Bugly,在Proguard混淆文件中增加一行配置:
-keep public class com.tencent.bugly.**{*; }
三、最简单的初始化 获取APP ID并将以下代码复制到项目Application类onCreate()中,Bugly会为自动检测环境并完成配置:
CrashReport.initCrashReport(getApplicationContext(), "注册时申请的APPID", false);
四、测试 现在您可以制造一个Crash,来体验Bugly的能力了。在初始化Bugly的之后,调用Bugly测Java Crash接口。
CrashReport.testJavaCrash();
执行到这段代码时会发生一个Crash,Logcat的TAG=CrashReportInfo中输出为:
现在您已经可以在“崩溃”页面看到刚才触发的Crash issue了(一般有点延迟)。
推荐阅读
- android第三方框架(五)ButterKnife
- Android中的AES加密-下
- 带有Hilt的Android上的依赖注入
- android|android studio中ndk的使用
- Android事件传递源码分析
- RxJava|RxJava 在Android项目中的使用(一)
- Android7.0|Android7.0 第三方应用无法访问私有库
- 深入理解|深入理解 Android 9.0 Crash 机制(二)
- android防止连续点击的简单实现(kotlin)
- Android|Android install 多个设备时指定设备