Android如何快速集成腾讯Bugly

作者:BAI 时间:2021-11-26 00:52:26 

目录
  • 1. 新建产品,在官网新建产品

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

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

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

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

  • 6. 初始化Bugly

  • 7. 接入完成

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

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

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

Android如何快速集成腾讯Bugly

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

Android如何快速集成腾讯Bugly

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

来源:https://juejin.cn/post/6953882035014336543

标签:Android,Bugly,腾讯
0
投稿

猜你喜欢

  • java 单例的五种实现方式及其性能分析

    2023-05-10 10:50:51
  • Android如何获取系统通知的开启状态详解

    2021-12-28 05:45:09
  • Android实现下拉展示条目效果

    2021-09-29 21:00:42
  • C#基础知识之GetType与typeof的区别小结

    2022-04-06 21:59:34
  • java 将一个数组逆序输出的方法

    2023-05-09 09:29:01
  • MyBatis的嵌套查询解析

    2023-11-26 16:58:46
  • Android图片加载缓存框架Glide

    2021-11-13 12:43:02
  • WPF模拟实现Gitee泡泡菜单的示例代码

    2023-09-19 00:53:16
  • Android通过wifi连接手机(不需要root)

    2023-10-12 00:33:23
  • Spring创建bean的几种方式及使用场景

    2021-06-20 14:16:35
  • Spring Boot中如何使用Swagger详解

    2023-09-27 18:13:58
  • autojs模仿QQ长按弹窗菜单实现示例详解二

    2022-10-20 07:04:37
  • java打印指定年月的日历

    2023-11-11 19:21:19
  • IISExpress 配置允许外部访问详细介绍

    2023-08-02 02:18:10
  • 基于Class.forName()用法及说明

    2021-06-20 19:09:30
  • 详解 Corba开发之Java实现Service与Client

    2023-09-23 03:42:48
  • java 中newInstance()方法和new关键字的区别

    2023-11-25 07:17:26
  • Android实现模仿UCweb菜单效果的方法

    2023-08-15 20:22:43
  • 带你了解Java常用类小结

    2023-04-15 14:38:26
  • springboot2.2 集成 activity6实现请假流程(示例详解)

    2022-09-18 08:54:21
  • asp之家 软件编程 m.aspxhome.com