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. 新建产品,在官网新建产品
2. 获取app id,点击产品设置,拿到App ID
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


猜你喜欢
- 本文实例讲述了C#判断访问来源是否为搜索引擎链接的方法。分享给大家供大家参考。具体分析如下:这段代码通过获取UrlReferrer判断访客是
- TCPTCP协议是面向连接、保证高可靠性(数据无丢失、数据无失序、数据无错误、数据无重复到达)传输层协议。TCP通过三次握手建立连接,通讯完
- 我们在开发需求的时候,难免会接入一下第三方的H5页面,有些H5页面是具有上传照片的功能,Android 中的 WebView是不能直接打开文
- 在此附上超详细Windows 10卸载JDK1.8教程超详细Windows 10卸载JDK1.8教程JDK1.8即为JDK8,JDK8是目前
- 在Value中的Style.xml中,添加: <style name="NoTitle"
- 一、简介Mybatis-Plus(简称MP)是一个 Mybatis 的一个增强工具,在 Mybatis 的基础上只做增强不做改变,为简化开发
- 最近由于参加一个小小的创意比赛,用安卓做了一个小小的图片识别应用,主要是通过拍照识别图片中的菜品,还有对象位置查找的东西。之前没有做过安卓,
- 本文实例为大家分享了java根据网络地址保存图片的具体代码,供大家参考,具体内容如下import java.io.BufferedInput
- 本文实例为大家分享了android利用handler实现倒计时的具体代码,供大家参考,具体内容如下xml<?xml version=&
- 前言EasyCache升级兼容 Springboot2,有个业务系统启动总是会卡住,最后抛出超时异常,如下:java.util.concur
- Maven工程分模块开发完成 父工程配置了 tomcat7插件,运行 run命令执行run指令时失败,报错信息如下:D:\java\JDK8
- 下面分几部分介绍C#实现自动售货机接口的方法,代码写的非常详细,不懂的地方有注释可以参考下。MachineJP类:第1部分:串口初始化,串口
- 如下所示:#include "GeneralHashFunctions.h" unsigned int RSHash(c
- 泛型与类型擦除泛型,JDK 1.5新特性,本质是参数化类型(Parametersized Type) 的应用,即所操作的数据类型被指定为一个
- dynamic是C#里面的动态类型,可在未知类型的情况访问对应的属性,非常灵活和方便。使用Json.Net可以把一个Json字符串转换成一个
- 在上个月的对C#开发微信门户及应用做了介绍,写过了几篇的随笔进行分享,由于时间关系,间隔了一段时间没有继续写这个系列的博客了,并不是对这个方
- package mymaven; import java.net.UnknownHostException; imp
- Java数字格式类以下两个类可用于格式化和解析数字:java.text.NumberFormatjava.text.DecimalForma
- 之前从他人的博文,还有一些书籍中了解到 常量是放在常量池 中,细节的内容无从得知,总觉得面前的东西是一个几乎完全的黑盒,总是觉得不舒服,于是
- 泛型的简介1、为什么要使用泛型?一般使用在集合上,比如现在把一个字符串类型的值放入到集合里面,这个时候,这个值放到集合之后,失去本身的类型,