harmony-utils之CrashUtil,异常相关工具类

简介: harmony-utils之CrashUtil是一款用于异常捕获与处理的工具类,支持注册错误观测器、获取日志路径、读取异常信息等功能,帮助开发者快速定位并修复应用崩溃问题。

harmony-utils之CrashUtil,异常相关工具类

harmony-utils 简介与说明


harmony-utils 一款功能丰富且极易上手的HarmonyOS工具库,借助众多实用工具类,致力于助力开发者迅速构建鸿蒙应用。其封装的工具涵盖了APP、设备、屏幕、授权、通知、线程间通信、弹框、吐司、生物认证、用户首选项、拍照、相册、扫码、文件、日志,异常捕获、字符、字符串、数字、集合、日期、随机、base64、加密、解密、JSON等一系列的功能和操作,能够满足各种不同的开发需求。
picker_utils 是harmony-utils拆分出来的一个子库,包含PickerUtil、PhotoHelper、ScanUtil。

下载安装
ohpm i @pura/harmony-utils
ohpm i @pura/picker_utils

  //全局初始化方法,在UIAbility的onCreate方法中初始化 AppUtil.init()
  onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void {
    AppUtil.init(this.context);
  }

API方法与使用


onHandled 注册错误观测器(该方法建议在Ability里调用) 。注册后可以捕获到应用产生的js crash,应用崩溃时进程不会退出。将异常信息写入本地文件
CrashUtil.onHandled((exceptionInfo)=>{
  LogUtil.error(JSON.stringify(exceptionInfo, null, 2));
});
onDestroy 注销错误观测器
CrashUtil.onDestroy(); //注销错误观测器
ToastUtil.showToast("注销误观测器,成功!");
isHandled 判断错误观测器是否存在
let isHandled = CrashUtil.isHandled();
ToastUtil.showToast(`误观测器是否存在:${isHandled}`);
getFilePath 获取日志文件路径(用于读取异常文件、导出异常文件)
let path = CrashUtil.getFilePath();
LogUtil.error(`异常日志文件路径:${path}`);
access 判断日志文件是否存在
let access = CrashUtil.access();
ToastUtil.showToast(`日志文件是否存在:${access}`);
delete 删除日志文件
CrashUtil.delete();
ToastUtil.showToast(`日志文件删除成功!`);
getExceptionJson 获取异常日志的JSON字符串
if (CrashUtil.access()) {
  let jsonStr = await CrashUtil.getExceptionJson(); //读取JSON
  Utils.showSheetText(jsonStr);
} else {
  ToastUtil.showToast("暂无日志文件");
}
getExceptionList 获取异常日志的集合
if (CrashUtil.access()) {
  let list = await CrashUtil.getExceptionList();
  DialogHelper.showToast(`异常个数:${list.length}`);
} else {
  ToastUtil.showToast("暂无日志文件");
}
enableAppRecovery 启用应用恢复功能,参数按顺序填入。该接口调用后,应用从启动器启动时第一个Ability支持恢复
CrashUtil.enableAppRecovery();
restartApp 重启APP,并拉起应用启动时第一个Ability,可以配合errorManager相关接口使用
CrashUtil.restartApp();
saveAppState 保存当前App状态 或 主动保存Ability的状态,这个状态将在下次恢复启动时使用。可以配合errorManager相关接口使用
CrashUtil.saveAppState(this.context);
setRestartWant 设置下次恢复主动拉起场景下的Ability。该Ability必须为当前包下的UIAbility
let want: Want = {
  bundleName: 'com.harmony.utils',
  abilityName: 'EntryAbility'
};
CrashUtil.setRestartWant(want);

创作不易,请给童长老点赞👍


目录
相关文章
|
5月前
|
缓存 JSON 安全
harmony-utils之AppUtil,APP相关工具类
harmony-utils之AppUtil是鸿蒙应用开发中的实用工具类,提供APP初始化、生命周期管理、界面控制、设备信息获取等功能,简化开发流程,提升开发效率。
192 0
harmony-utils之AppUtil,APP相关工具类
|
5月前
|
iOS开发
harmony-dialog预览效果
harmony-dialog 是一款简单易用、零侵入的弹窗组件,支持多种类型如确认框、提示框、输入框、选择器、加载框等,覆盖常见开发需求。
188 0
harmony-dialog预览效果
|
5月前
|
缓存 JSON 前端开发
最受欢迎的三方库之harmony-utils
harmony-utils 是一款功能丰富且易于使用的 HarmonyOS 工具库,涵盖 APP、设备、屏幕、授权、通知、文件操作、加解密等多种常用功能,帮助开发者高效构建鸿蒙应用。体积小巧(仅约 130KB),性能优越,适用于 OpenHarmony API 12 及以上版本。
263 0
|
JSON 算法 安全
harmony-utils之RSA,RSA加解密
harmony-utils是一款专为HarmonyOS打造的高效工具库,提供丰富的实用功能,助力开发者快速构建鸿蒙应用。其RSA模块实现非对称加解密、签名验签等功能,支持密钥生成、数据加密解密及分段处理,适用于安全通信与身份验证等场景。
236 0
|
存储 算法 安全
harmony-utils之MD5,MD5工具类
harmony-utils 是一款功能丰富的 HarmonyOS 工具库,提供包括 MD5 加密在内的多种实用工具类,帮助开发者高效构建鸿蒙应用。
168 0
|
5月前
|
JSON 生物认证 API
harmony-utils之PickerUtil,拍照、文件选择和保存,工具类
PickerUtil 是 harmony-utils 工具库的子模块,提供拍照、相册选择、文件管理等功能,简化鸿蒙应用开发中的资源选取与保存操作。
170 0
|
5月前
|
API Apache 开发者
最受欢迎的三方库之harmony-dialog
harmony-dialog 是一款简单易用的鸿蒙弹窗工具库,支持多种弹窗类型,如提示框、选择器、加载框、吐司等,满足多样化开发需求。一行代码即可调用,使用便捷,兼容 API12+。配合 harmony-utils 使用更佳,助力快速开发。
224 0
|
5月前
|
JSON 前端开发 生物认证
harmony-utils之ScanUtil,码工具类(扫码、码图生成、图片识码)
ScanUtil 是 harmony-utils 中的扫码工具类,支持调用系统扫码、生成二维码/条形码、图片识码及图像数据解析等功能。提供丰富的 API,便于开发者快速实现扫码相关功能,适用于 HarmonyOS 应用开发。
212 0
|
5月前
|
API Apache 开发者
最受欢迎的三方库之mime-types
`mime-types` 是一款用于处理文件 MIME 类型的 OpenHarmony 工具库,支持根据文件名、扩展名或 MIME 类型获取对应信息,并提供文件图标与类型描述符查询功能,适用于 HarmonyOS 应用开发。
214 0
|
算法 网络安全 区块链
harmony-utils之ECDSA,ECDSA工具类
`harmony-utils` 是一款功能丰富的 HarmonyOS 工具库,提供包括 ECDSA 签名与验签在内的多种实用工具,助力开发者高效构建鸿蒙应用。
199 0