如何快速集成腾讯Bugly

2,859 阅读2分钟

腾讯Bugly官方网址bugly.qq.com/
Bugly官方文档bugly.qq.com/docs/
应用升级 SDK 高级配置bugly.qq.com/docs/user-g…

这篇文章把官方文档化繁为简,在Android中快速接入bugly的异常上报和应用更新

1. 新建产品,在官网新建产品

image.png

2. 获取app id,点击产品设置,拿到App ID

image.png

3. 集成SDK,在Android项目的 app/build.gradle 文件中自动集成SDK

android {
    defaultConfig {
        ndk {
            // 设置支持的SO库架构
            abiFilters 'armeabi' , 'x86', 'armeabi-v7a', 'x86_64', 'arm64-v8a'
        }
    }
}

dependencies {
    //bugly Java Crash捕获和应用升级功能
    implementation 'com.tencent.bugly:crashreport_upgrade:1.4.2'
    //bugly Native Crash捕获
    implementation 'com.tencent.bugly:nativecrashreport:3.7.1'
}

4. AndroidMainfest.xml配置,在 AndroidMainfest.xml 中进行以下配置:

  • 权限配置

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

<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" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
  • Activity配置 和 FileProvider配置

注意:如果您想兼容Android N或者以上的设备,必须要在AndroidManifest.xml文件中配置FileProvider来访问共享路径的文件。


<activity
    android:name="com.tencent.bugly.beta.ui.BetaActivity"
    android:configChanges="keyboardHidden|orientation|screenSize|locale"
    android:theme="@android:style/Theme.Translucent" />

 <provider
    android:name="androidx.core.content.FileProvider"
    android:authorities="${applicationId}.fileProvider"
    android:exported="false"
    android:grantUriPermissions="true">
    <meta-data
        android:name="android.support.FILE_PROVIDER_PATHS"
        android:resource="@xml/provider_paths"/>
 </provider>

在res目录新建xml文件夹,创建 provider_paths.xml 文件,文件内容如下:

<?xml version="1.0" encoding="utf-8"?>
<paths xmlns:android="http://schemas.android.com/apk/res/android">
    <external-path name="beta_external_path" path="Download/"/>
    <external-path name="beta_external_files_path" path="Android/data/"/>
</paths>

5. 混淆配置,在proguard-rules.pro文件中加入

如果您的项目开启了代码混淆,请在 proguard-rules.pro文件 添加以下内容,如果未开启混淆请忽略这一步

-dontwarn com.tencent.bugly.**
-keep public class com.tencent.bugly.**{*;}
-keep class android.support.**{*;}

6. 初始化Bugly

注意:如果您的项目已经有 自定义Application文件,请直接在 onCreate方法 添加代码:Bugly.init(getApplicationContext(), "第2步获取的AppID", false);

  • 新建 一个 MyApp.java,里面的内容为以下代码:
public class MyApp extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        Bugly.init(getApplicationContext(), "第2步获取的AppID", false);
    }
}

  • AndroidManifest.xml文件application标签 中新增属性:android:name=".MyApp"

7. 接入完成

现在您可以制造一个Crash(建议通过“按键”来触发),来体验Bugly的能力了。
在初始化Bugly的之后,可以调用Bugly的Java Crash接口。

测试代码 : CrashReport.testJavaCrash();
执行到这段代码时会发生一个Crash