Android 集成Bugly完成线上的异常Exception收集及处理

2024-05-15 01:28

本文主要是介绍Android 集成Bugly完成线上的异常Exception收集及处理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

    • (一)添加产品APP
    • (二)集成SDK
    • (三)参数配置
      • 权限
      • 混淆
    • (四)初始化

(一)添加产品APP

一)在个人头像 -> 我的头像 -> 新建产品
在这里插入图片描述
二)复制APPID
新建完产品以后,查看产品设置,如下图,App ID要复制好
在这里插入图片描述

(二)集成SDK

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

android {defaultConfig {ndk {// 设置支持的SO库架构abiFilters "armeabi", "x86_64" // 'x86', 'armeabi-v7a', 'x86_64', 'arm64-v8a'}}
}dependencies {implementation 'com.tencent.bugly:crashreport:latest.release' //其中latest.release指代最新Bugly SDK版本号,也可以指定明确的版本号,例如4.0.3
}

注意:
4.0.0之前版本,还需要添加nativecrashreport依赖:

 implementation 'com.tencent.rqd:nativecrashreport:latest.release' //其中latest.release指代最新Bugly NDK版本号,也可以指定明确的版本号,例如3.9.2

如果在添加“abiFilter”之后Android Studio出现以下提示:

NDK integration is deprecated in the current plugin.  Consider trying the new experimental plugin.

则在项目根目录的gradle.properties文件中添加:

android.useDeprecatedNdk=true

(三)参数配置

权限

在AndroidManifest.xml中添加权限:

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

混淆

请避免混淆Bugly,在Proguard混淆文件中增加以下配置:

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

(四)初始化

        CrashReport.UserStrategy strategy = new CrashReport.UserStrategy(getApplicationContext());// 通过UserStrategy设置strategy.setDeviceModel("userdefinedModel");// 也可以通过CrashReport类设置,适合无法在初始化sdk时获取到deviceModel的场景,context和deviceModel不能为空(或空字符串)CrashReport.setDeviceModel(context, "HONOR");strategy.setAppChannel("myChannel");  //设置渠道strategy.setAppVersion("1.0");      //App的版本strategy.setAppPackageName("com.example.myapplicationcalculator");  //App的包名// 也可以通过CrashReport类设置,适合在初始化sdk时无法获取到对应数据的场景,context、appChannel/appVersion/appPackage不能为空(或空字符串)
//        CrashReport.setAppChannel(, String appChannel);
//        CrashReport.setAppVersion(context, String appVersion);
//        CrashReport.setAppPackage(context, String appPackage);// 设置anr时是否获取系统trace文件,默认为false
//        strategy.setEnableCatchAnrTrace(true);
//
//        // 设置是否获取anr过程中的主线程堆栈,默认为true
//        strategy.setEnableRecordAnrMainStack(true);CrashReport.initCrashReport(context,  "注册时申请的APPID", true, strategy);

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

获取APP ID并调用初始化方法,Bugly会为自动检测环境并完成配置:

CrashReport.initCrashReport(context,  "77c05226df", true, strategy);

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

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

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

然后自己设置一个异常进行测试,比如NPE Exception,然后在平台上进行查看监控:
在这里插入图片描述

这篇关于Android 集成Bugly完成线上的异常Exception收集及处理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/990414

相关文章

解决java.lang.NullPointerException问题(空指针异常)

《解决java.lang.NullPointerException问题(空指针异常)》本文详细介绍了Java中的NullPointerException异常及其常见原因,包括对象引用为null、数组元... 目录Java.lang.NullPointerException(空指针异常)NullPointer

Docker部署Jenkins持续集成(CI)工具的实现

《Docker部署Jenkins持续集成(CI)工具的实现》Jenkins是一个流行的开源自动化工具,广泛应用于持续集成(CI)和持续交付(CD)的环境中,本文介绍了使用Docker部署Jenkins... 目录前言一、准备工作二、设置变量和目录结构三、配置 docker 权限和网络四、启动 Jenkins

Android开发中gradle下载缓慢的问题级解决方法

《Android开发中gradle下载缓慢的问题级解决方法》本文介绍了解决Android开发中Gradle下载缓慢问题的几种方法,本文给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录一、网络环境优化二、Gradle版本与配置优化三、其他优化措施针对android开发中Gradle下载缓慢的问

Python自动化处理手机验证码

《Python自动化处理手机验证码》手机验证码是一种常见的身份验证手段,广泛应用于用户注册、登录、交易确认等场景,下面我们来看看如何使用Python自动化处理手机验证码吧... 目录一、获取手机验证码1.1 通过短信接收验证码1.2 使用第三方短信接收服务1.3 使用ADB读取手机短信1.4 通过API获取

Python自动化Office文档处理全攻略

《Python自动化Office文档处理全攻略》在日常办公中,处理Word、Excel和PDF等Office文档是再常见不过的任务,手动操作这些文档不仅耗时耗力,还容易出错,幸运的是,Python提供... 目录一、自动化处理Word文档1. 安装python-docx库2. 读取Word文档内容3. 修改

Qt 中集成mqtt协议的使用方法

《Qt中集成mqtt协议的使用方法》文章介绍了如何在工程中引入qmqtt库,并通过声明一个单例类来暴露订阅到的主题数据,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧... 目录一,引入qmqtt 库二,使用一,引入qmqtt 库我是将整个头文件/源文件都添加到了工程中进行编译,这样 跨平台

Debezium 与 Apache Kafka 的集成方式步骤详解

《Debezium与ApacheKafka的集成方式步骤详解》本文详细介绍了如何将Debezium与ApacheKafka集成,包括集成概述、步骤、注意事项等,通过KafkaConnect,D... 目录一、集成概述二、集成步骤1. 准备 Kafka 环境2. 配置 Kafka Connect3. 安装 D

Spring AI集成DeepSeek的详细步骤

《SpringAI集成DeepSeek的详细步骤》DeepSeek作为一款卓越的国产AI模型,越来越多的公司考虑在自己的应用中集成,对于Java应用来说,我们可以借助SpringAI集成DeepSe... 目录DeepSeek 介绍Spring AI 是什么?1、环境准备2、构建项目2.1、pom依赖2.2

Android 悬浮窗开发示例((动态权限请求 | 前台服务和通知 | 悬浮窗创建 )

《Android悬浮窗开发示例((动态权限请求|前台服务和通知|悬浮窗创建)》本文介绍了Android悬浮窗的实现效果,包括动态权限请求、前台服务和通知的使用,悬浮窗权限需要动态申请并引导... 目录一、悬浮窗 动态权限请求1、动态请求权限2、悬浮窗权限说明3、检查动态权限4、申请动态权限5、权限设置完毕后

Android里面的Service种类以及启动方式

《Android里面的Service种类以及启动方式》Android中的Service分为前台服务和后台服务,前台服务需要亮身份牌并显示通知,后台服务则有启动方式选择,包括startService和b... 目录一句话总结:一、Service 的两种类型:1. 前台服务(必须亮身份牌)2. 后台服务(偷偷干