Android中最简单的集成腾讯Bugly

项目中使用到集成腾讯的Bugly方便应用的版本管理,崩溃日志的查看和热更新的应用,研究了一下写出来了:

库文件导入

Bugly支持自动集成和手动集成两种方式,如果您使用Gradle编译Apk,我们强烈推荐您使用自动接入方式配置库文件。

自动集成(推荐)

Bugly支持JCenter仓库Maven Central仓库。为了实现更加灵活的配置,Bugly SDK(2.1.5及以上版本)和NDK(SO库)目前已经分开成两个独立的仓库:

  • SDK:com.tencent.bugly:crashreport
  • NDK:com.tencent.bugly:nativecrashreport

其中,集成Bugly NDK时,需要同时集成Bugly SDK。

集成SDK分成以下几步来完成:

1:在Module的build.gradle文件中添加依赖和属性配置:

dependencies {
    //如果你只需要继承单个的SDK
    compile 'com.tencent.bugly:crashreport:latest.release' //其中latest.release指代最新Bugly SDK版本号,也可以指定明确的版本号,例如2.2.0
}

2:同时集成SDK和NDK

在Module的build.gradle(也就是APP下的)文件中添加依赖和属性配置:

android {
    compileSdkVersion 26
    defaultConfig {
        applicationId "com.choicelean.superwinner"
        minSdkVersion 19
        targetSdkVersion 26
        versionCode 2
        versionName "1.1"
        ndk {
            //设置Bugly支持的SO库架构,就是下面的架构导致系统自带的虚拟机不能使用,可以自己根据需要自动更改
            abiFilters 'armeabi-v7a'//有'x86', 'armeabi-v7a', 'x86_64', 'arm64-v8a'几个选项可以选择
        }
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }

dependencies {
      //开始的时候我按照下面的腾讯官方设置,AndroidStudio老是报错,出问题
    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
compile 'com.tencent.bugly:crashreport_upgrade:latest.release'

//其中latest.release指代最新版本号,也可以指定明确的版本号,例如1.2.0
compile 'com.tencent.bugly:nativecrashreport:latest.release'

}

}

3:参数配置

  • 在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" />

注:如果您的App需要上传到google play store,您需要将READ_PHONE_STATE权限屏蔽掉或者移除,否则可能会被下架。

  • 请避免混淆Bugly,在Proguard混淆文件中增加以下配置:
    # 9. 腾讯bugly,请避免混淆Bugly,在Proguard混淆文件中增加以下配置:
    -dontwarn com.tencent.bugly.**
    -keep public class com.tencent.bugly.**{*;}
    -keep class android.support.**{*;}

4:最后一步也是最重要的

获取APP ID并将以下代码复制到项目Application类onCreate()中,Bugly会为自动检测环境并完成配置:

下面的是我项目中应用的信息(APPID就是下面的这个):

Beta.autoInit = false;//在mainActivity中检查
Bugly.init(getApplicationContext(), "你自己的APPID", true(当项目上线时可以设置成false));

为了保证运营数据的准确性,建议不要在异步线程初始化Bugly。

第三个参数为SDK调试模式开关,调试模式的行为特性如下:

  • 输出详细的Bugly SDK的Log;
  • 每一条Crash都会被立即上报;
  • 自定义日志将会在Logcat中输出。

建议在测试阶段建议设置成true,发布时设置为false。

5:测试Bugly是否集成成功:

为了测试我们的Bugly集成是否完成 (我把versionCode改成2,VersionName改成1.2)登陆腾讯Bugly官网:

   当查看到如下信息的时候说明我们的应用集成成功了。

6:查看程序崩溃的信息:

当我们的应用开发完成之后就可以利用Bugly来查看用户使用我们的程序的时候的崩溃的情况,比如我的应用中

出现一个OOM内存溢出的时候就会上传到网上,我们不用对接用户信息就可以看到我们应用崩溃的详细情况如下:

这样我们就能根据相应的日志信息来检查我们程序中出现的BUG进而快速修改。

猜你喜欢

转载自blog.csdn.net/qq_42618969/article/details/82111441
今日推荐