集成bugly收集crash日志
2023-09-27 14:27:30 时间
登陆bugly网站
https://bugly.qq.com/v2/workbench/apps
新建产品
- 点击“新建产品”按钮
- 输入App详细信息
点击右上角“产品设置”
获取APP ID
后续代码集成时会用到
集成
- 修改app工程下build.gradle文件
- 在android->defaultConfig下增加ndk设置
android {
defaultConfig {
ndk {
// 设置支持的SO库架构
abiFilters 'armeabi' //, 'x86', 'armeabi-v7a', 'x86_64', 'arm64-v8a'
}
}
}
- 新增依赖
implementation 'com.tencent.bugly:crashreport:latest.release'
//其中latest.release指代最新Bugly SDK版本号,也可以指定明确的版本号,例如2.1.9
implementation 'com.tencent.bugly:nativecrashreport:latest.release'
//其中latest.release指代最新Bugly NDK版本号,也可以指定明确的版本号,例如3.0
- 新增网络安全配置network_security_config.xml文件
res目录下新建xml目录,用于放置network_security_config.xml.
该文件用于允许通过http方式访问bugly网站进行上报.
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<domain-config cleartextTrafficPermitted="true">
<domain includeSubdomains="true">android.bugly.qq.com</domain>
</domain-config>
</network-security-config>
3.修改修改manifest文件
- 增加权限
<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" />
- 设置网络安全配置文件
在application节点中新增如下信息:
android:networkSecurityConfig="@xml/network_security_config"
- 初始化
在Application中增加:
CrashReport.initCrashReport(applicationContext, appId, BuildConfig.DEBUG)
appId为bugly上创建的app的App ID.
4. 模拟crash
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
button.setOnClickListener {
CrashReport.testJavaCrash()
}
}
}
上述代码在点击按钮时调用CrashReport.testJavaCrash()
触发异常.
5. 查看bugly上报异常
在菜单“崩溃分析”菜单中查看.
源代码
https://gitee.com/cxyzy1/buglyDemo
FAQ
- 问题描述: 在安卓9.0及以上手机上,bugly无法上报,报如下错误:
020-01-08 09:23:46.827 5229-5263/com.cxyzy.buglydemo D/CrashReport: request: http://android.bugly.qq.com/rqd/async?aid=61005c91-d3f8-4cee-93ae-ad4fb6fb2cde, send: 27888 (pid=5229 | tid=5263)
2020-01-08 09:23:46.836 5229-5263/com.cxyzy.buglydemo W/CrashReport: java.io.IOException: Cleartext HTTP traffic to android.bugly.qq.com not permitted
...
2020-01-08 09:23:46.837 5229-5263/com.cxyzy.buglydemo E/CrashReport: Failed to upload, please check your network.
解决方案:按照上面步骤增加网络安全配置network_security_config.xml文件
相关文章
- Webpack 5 集成 ESLint 的方法
- 【HarmonyOS】【JAVA UI】HarmonyOS 如何集成KLog
- 如何兼顾隐私安全与便捷体验?华为浏览器集成FIDO,登录环境更安全
- 如何在Flutter中集成华为认证服务
- Android | 超简单集成HMS ML Kit实现最大脸微笑抓拍
- 使用Hudson进行持续集成
- 《交互式程序设计 第2版》一3.2 Processing集成开发环境
- Apriva与On Track合作推出半集成无人值守支付解决方案
- 集成讯飞离线语音合成SDK报:“ 未经授权的语音应用.(错误码:11210)“ 问题解决
- 基于MVVM架构的游戏App如何集成华为游戏服务(一)——登录认证
- 【AGC】AppLinking在鸿蒙中集成问题
- Jenkins Pipeline+Maven+Gitlab持续集成构建