Bugly Android 快速接入使用文档
2016-02-03 15:08
411 查看
转自:http://bugly.qq.com/androidsdk
如果您使用Gradle编译Apk,我们强烈推荐您使用自动接入方式配置库文件(JCenter仓库)。
在Module的buid.gradle文件中添加依赖和属性配置:
后续更新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.
则在项目根目录的gradle.properties文件中添加:
如果您不采用上述自动导入方式,也可以手动集成Bugly SDK。
下载Bugly的Android SDK包;
如果您的工程有Native代码(C/C++)或者集成了其他第三方SO库,建议下载Bugly的NDK动态库。
Bugly NDK包含多个架构的SO库:
armeabi
armeabiv7a
arm64v8a
x86
x86_64
在集成Bugly SO库时,请注意只保留支持的架构SO库。
Eclipse 工程
将Bugly库文件复制到工程的libs目录下;
Refresh一下工程;
添加工程依赖:鼠标右键点击Bugly的JAR文件,添加到编译路径中。
Android Studio工程
将Bugly库文件复制到工程的libs目录下;
如果集成Bugly NDK,则在Module的buid.gradle文件中添加SO库目录配置:
点击Sync,同步配置。
为了使APP Crash堆栈的可读性更高,建议您配置符号表文件,更准确地定位问题:
纯Java代码的工程:只需要配置混淆后生成的Mapping文件即可;
含有Native代码的工程:建议配置符号表工具从Debug SO中提取的Symbol符号表文件。
Bugly支持手动和自动配置两种方式,具体的配置方法请参考:《Bugly Android符号表配置》
在AndroidManifest.xml中添加权限:
请避免混淆Bugly,在Proguard混淆文件中增加一行配置:
获取APP ID并将以下代码复制到项目Application类onCreate()中,Bugly会为自动检测环境并完成配置:
现在您可以制造一个Crash,来体验Bugly的能力了。在初始化Bugly的之后,调用Bugly测Java Crash接口。
执行到这段代码时会发生一个Crash,Logcat的TAG=CrashReportInfo中输出为:
现在您已经可以在“崩溃”页面看到刚才触发的Crash issue了(一般有点延迟)。
一、库文件导入
如果您使用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.
则在项目根目录的gradle.properties文件中添加:
android.useDeprecatedNdk=true
方式2:手动导入
如果您不采用上述自动导入方式,也可以手动集成Bugly SDK。
下载Bugly库文件
下载Bugly的Android SDK包;如果您的工程有Native代码(C/C++)或者集成了其他第三方SO库,建议下载Bugly的NDK动态库。
Bugly NDK包含多个架构的SO库:
armeabi
armeabiv7a
arm64v8a
x86
x86_64
在集成Bugly SO库时,请注意只保留支持的架构SO库。
Eclipse 工程
将Bugly库文件复制到工程的libs目录下;
Refresh一下工程;
添加工程依赖:鼠标右键点击Bugly的JAR文件,添加到编译路径中。
Android Studio工程
将Bugly库文件复制到工程的libs目录下;
如果集成Bugly NDK,则在Module的buid.gradle文件中添加SO库目录配置:
android { sourceSets { main.jniLibs.srcDirs = ['libs'] } }
点击Sync,同步配置。
为了使APP Crash堆栈的可读性更高,建议您配置符号表文件,更准确地定位问题:
纯Java代码的工程:只需要配置混淆后生成的Mapping文件即可;
含有Native代码的工程:建议配置符号表工具从Debug SO中提取的Symbol符号表文件。
Bugly支持手动和自动配置两种方式,具体的配置方法请参考:《Bugly Android符号表配置》
二、参数配置
在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.**{*;}
三、最简单的初始化
获取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 使用动态载入框架DL进行插件化开发
- Android View事件机制 21问21答
- Android进阶推荐书籍
- android使用MPAndroidChart开源图表折线图
- Android RecycleView(一)
- Android studio 下的robotium自动化测试和持续集成
- Android studio 下的robotium自动化测试和持续集成
- 如何学习 Android Animation?
- Android 6.0 Mtp(二) 应用层代码分析
- Android启动流程
- Android 内存泄漏总结
- Android开发之查找本机的图片、视频、音乐、其他类别文件
- Android studio 下的robotium自动化测试和持续集成
- 基于Fragment的Android前台服务框架
- 十指相扣:陪binderIPC度过的漫长岁月(1)
- android ListView 基本常识一些个数的方法
- 树莓派3(全志A20)Android固件编译
- Android 阴影学习
- Android 高仿 iOS 的省、市、区三级联动效果库(含数据,可直接用到项目中)
- 关于Android 的内存泄露及分析(转)