【AGC】新版鸿蒙崩溃SDK集成使用方法

news2025/1/16 5:48:57

【背景】

我们知道AGC的Crash SDK都是需要强制集成华为分析SDK的,在使用时的崩溃数据上报都要依靠分析服务来完成,这就容易受到限制,有时出现无数据的情况就要依次排查崩溃SDK与分析SDK,比较麻烦。而就在不久前,鸿蒙崩溃的SDK做了全面更新,上报信息不再依赖华为分析服务SDK,并且后台数据展示也做了更新。这可以让项目更加简洁,缩小了应用的占用空间,出现数据问题排查也更加方便了。不过更新后的SDK集成使用方法也与旧版本不一样了,接下来将介绍新版鸿蒙崩溃SDK的集成使用方法。

【开发准备】

  1. 登录AppGallery Connect,点击“我的项目”。在项目列表中找到您的项目,在项目下的应用列表中选择您需要启用崩溃服务的应用。选择“质量 > 崩溃”,进入崩溃服务页面,点击“立即开通”。

  2. 点击“项目设置”中“应用”栏下的“agconnect-services.json”,将“agconnect-services.json”文件拷贝到项目entry模块的目录下。

  3. 打开entry模块下的build.gradle文件,添加如下代码集成Crash SDK,目前SDK依赖仅需要一行代码就能实现了。

    dependencies {
        ...
        implementation 'com.huawei.agconnect:agconnect-crash-harmony:1.1.0.300'
        ...
    }

【实现方法】

旧版本的鸿蒙SDK调用类名已从AGConnectCrash更换为APMCrash了,需要注意更换。

  1. 您可以调用APMCrash.testJavaException方法,构造一次崩溃。

    Button btn_crash = (Button) findComponentById(ResourceTable.Id_Make_Crash);
            btn_crash.setClickedListener(new Component.ClickedListener() {
                @Override
                public void onClick(Component component) {
                    APMCrash.getInstance().testJavaException(true);
                }
            });
  2. 调用APMCrash.recordException方法构造一次非严重异常事件。

    Button btn_exception = (Button) findComponentById(ResourceTable.Id_Make_Exception);
            btn_exception.setClickedListener(new Component.ClickedListener() {
                @Override
                public void onClick(Component component) {
                    try{
                        throw new Exception();
                    }catch (Exception e){
                        APMCrash.getInstance().recordException(e);
                    }
                }
            });
  3. 调用APMCrash.setCustomLogInfo(String text)自定义日志,调用APMCrash.setCustomKeyValue自定义键值对。

    Button btn_CustomReport = (Button) findComponentById(ResourceTable.Id_Custom_Report);
            btn_CustomReport.setClickedListener(new Component.ClickedListener() {
                @Override
                public void onClick(Component component) {
                    APMCrash.getInstance().setUserId("testuser");
                    APMCrash.getInstance().setCustomLogInfo(HiLog.DEBUG,"set debug log.");
                    APMCrash.getInstance().setCustomLogInfo(HiLog.INFO,"set info log.");
                    APMCrash.getInstance().setCustomLogInfo(HiLog.WARN,"set warning log.");
                    APMCrash.getInstance().setCustomLogInfo(HiLog.ERROR,"set error log.");
                    APMCrash.getInstance().setCustomKeyValue("stringKey", "Hello world");
                    APMCrash.getInstance().setCustomKeyValue("booleanKey", false);
                    APMCrash.getInstance().setCustomKeyValue("doubleKey", 1.1);
                    APMCrash.getInstance().setCustomKeyValue("floatKey", 1.1f);
                    APMCrash.getInstance().setCustomKeyValue("intKey", 0);
                    APMCrash.getInstance().setCustomKeyValue("longKey", 11L);
                }        });

【数据展示】

现在鸿蒙崩溃SDK后台数据展示界面也与现在的Android应用不同了,做出了更细致的更新,下面向大家展示上报的崩溃数据界面。

1、数据概览界面

cke_21726.png

2、问题详情与堆栈信息界面

cke_24277.png

cke_26359.png

3、自定义报告界面

cke_29001.png

cke_31516.png

【结论】

以上就是新版本鸿蒙崩溃SDK的使用方法和成果展示。有兴趣的小伙伴也可以关注官方文档进行集成开发,让自己的应用实现崩溃监控功能。

参考文档:文档中心 SDK版本更新说明

 欲了解更多更全技术文章,欢迎访问https://developer.huawei.com/consumer/cn/forum/?ha_source=zzh

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/540676.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Linux】内存映射

目录 内存映射相关函数解析代码示例1(使用内存映射实现没有关系的进程间的通信):代码示例2(使用内存映射实现文件间拷贝):匿名内存映射 橙色 内存映射 内存映射(Memory-mapped I/o)是将磁盘文件的数据映射…

GitLabRunner安装部署

实战:GitLabRunner安装部署-2023.4.26(安装成功) 目录 实验环境 gitlab/gitlab-ce:15.0.3-ce.0 gitlab-runner-15.0.1-1.x86_64.rpm实验软件 链接:https://pan.baidu.com/s/10aL_kWzDKnZXBXG3-hS2tA 提取码:0820 2023.4.26-实战&#xff1a…

HTTP第16讲——HTTP的重定向和跳转

背景 “超文本”里含有“超链接”,可以从一个“超文本”跳跃到另一个“超文本”,对线性结构的传统文档是一个根本性的变革。 能够使用“超链接”在网络上任意地跳转也是万维网的一个关键特性。它把分散在世界各地的文档连接在一起,形成了复杂…

058:cesium设置图片纹理材质

第058个 点击查看专栏目录 本示例的目的是介绍如何在vue+cesium中设置图片材质,相当于在球体上贴图。 直接复制下面的 vue+cesium源代码,操作2分钟即可运行实现效果. 文章目录 示例效果配置方式示例源代码(共85行)相关API参考:专栏目标示例效果 配置方式 1)查看基础设…

如何批量旋转图片方向,包教会方法分享

如何批量旋转图片方向,这个怎么搞呢?小编曾经遇到一个问题,就是我将手机上的照片上传到电脑后发现所有的图片都是倒立的,这让查看变得非常不方便。尽管小编已经尝试过打开每张图片并逐个旋转后再另存为,但这种方式十分…

qiankun + Vite + React + Vue + Angular 快速构建前端微服务

文章目录 一、主应用 vite二、微应用 react三、微应用 vue四、微应用 angular五、项目地址 一、主应用 vite npm npm create vitelatestyarn yarn create vite选择是否继续 Need to install the following packages:create-vite3.2.1 Ok to proceed? (y) y项目名称 Project…

HIVE建表详细教程

1. 注意事项如下 1.1 分区字段 可以有多个分区字段,一般以时间维度来建立分区,也可以再加其他字段。以业务场景为提前条件,来设定分区的字段。 从业务角度理解,分区字段可理解为业务数据的一部分,作为业务查询…

Bed Bath and Beyond EDI 需求分析

Bed Bath and Beyond(Bed Bath and Beyond)是一家美国的家居用品零售商,成立于1971年,总部位于新泽西州Union。该公司在美国、加拿大和墨西哥拥有超过1500家门店。其产品涵盖了床上用品、浴室用品、厨房用品、家居装饰等领域&…

Win11怎么添加用户?我们都知道系统一般默认是administraor用户

Win11怎么添加用户?我们都知道系统一般默认是administraor用户,但如果你还想添加新用户的话,那么可以参考以下操作哦,步骤简单,安全有效,我们一起来学习下吧。 具体操作如下: 1、首先&#xff0…

NXP MCUXPresso - cc1plus.exe: out of memory allocating 65536 bytes

文章目录 NXP MCUXPresso - cc1plus.exe: out of memory allocating 65536 bytes概述实验结论补充END NXP MCUXPresso - cc1plus.exe: out of memory allocating 65536 bytes 概述 在尝试迁移 openpnp - Smoothieware project 从gcc命令行 MRI调试方式 到NXP MCUXpresso工程…

iscsi删除已失效的链路

有套rac环境,主机连接存储使用的iscsi方式,使用了一段时间,客户感觉网络设计不合理,需要调整网段vlan和ip地址 首先关闭实例和集群,调整存储端和主机端的ip地址和vlan,调整后可以ping通,使用如…

隐藏自己的真实ip

本文转载于: https://blog.csdn.net/csdnmmd/article/details/126952312 1.ip查看 https://mp.weixin.qq.com/s/zs2clrxQts9f7pK6CQ2oOw 1.1 无隧道的情况 当前从138和请求ipinof.io上可以查到目前我的ip地址为真实的ip: 访问下面这个地址之后&#xff…

SVG矢量图怎么做?

SVG 矢量图是一种可缩放的图像格式,基于 XML 的标记语言。它可以用于描述二维矢量图形,并且具有数百种功能,能够帮助你创建出色的网站。SVG矢量图怎么做?在本教程中,我们将学习如何使用SVG矢量图编辑器——即时设计制作…

一种基于非均匀分簇和建立簇间路由的算法的无线传感器网络路由协议(Matlab代码实现)

目录 💥1 概述 📚2 运行结果 🎉3 参考文献 👨‍💻4 Matlab代码 💥1 概述 本文准备了一种路由方法,该方法使传感器通过有效地使用能量将数据从发送方加载到接收器,因为它在 LEAC…

安装Ubuntu18.04双系统、干净卸载,并在Ubuntu系统中安装CARLA模拟器

Ubuntu系统安装 Ubuntu系统安装参照流程 Ubuntu 双系统安装流程_ubuntu双系统_地球被支点撬走啦的博客-CSDN博客 Ubuntu系统卸载 1.将开机启动项设置默认为Windows,进入BIOS设置界面调整BootDevice中Windows和Ubuntu的顺序,将Windows调整在Ubuntu前边…

封神之作!超火Java面试突击手册一周内转发2.4W次,最终被所有大厂封杀

前言 本文是为了帮大家快速回顾了Java中知识点,这套面试手册涵盖了诸多Java技术栈的面试题和答案,相信可以帮助大家在最短的时间内用作面试复习,能达到事半功倍效果。 本来想将文件上传到github上,但由于文件太大有的都无法显示…

OpenPCDet系列 | 5.4.1 DenseHead中的AnchorGenerator锚框生成模块

文章目录 AnchorGenerator模块AnchorGenerator.generate_anchors函数 AnchorGenerator模块 首先,根据点云场景将其划分为一个个grid,这个grid size是可以通过配置文件设定的点云场景方位和voxel大小计算出来的。 POINT_CLOUD_RANGE: [0, -39.68, -3, 6…

研发工程师玩转Kubernetes——部署应用

Kubernetes是容器的管理编排工具,而容器则是程序的载体。我们先在Docker上部署应用,然后再在kubernetes上部署,并对它们进行对比学习。 Docker部署应用 查看运行中的容器 docker ps可以看到下面的表头,此时没有一个运行中的容器…

图片压缩指定大小,让您的图片高效而优美

在现代社会中,图片是我们不可或缺的一部分,在各行业中都有着非常重要的作用。但是,大尺寸的图片不仅会占用过多的存储空间,还会导致网页或应用程序的加载速度变慢。因此,将图片压缩到指定大小是一个必要的步骤。 图片…

文档管理-gitlab+markdown网页插件

特点 使用git进行版本管理,本地编辑使用Typora。使用gitlab进行权限管理可以在线阅读通过Markdown在线阅读插件实现,可显示目录显示与链接跳转,界面优于自带的wiki。 与其他方式对比 gitlab的wiki:显示界面效果不好&#xff0c…