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.
    • 则在项目根目录的gradle.properties文件中添加:

      android.useDeprecatedNdk=true

方式2:手动导入

如果您不采用上述自动导入方式,也可以手动集成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库。

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中添加权限:





请避免混淆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)