移动分析支持通过符号表对 HarmonyOS NEXT App 的闪退日志进行反向解析,以便定位 App 中的问题代码,帮助提高排查、解决线上异常问题的效率,同时提供 HarmonyOS NEXT 符号表管理功能以便导入、查询符号表并进行符号表反解测试。
HarmonyOS NEXT 符号表
鸿蒙(HarmonyOS NEXT) App 主要由 arkts
和 native (c/cpp)
语言开发,对于 arkts (ets/ts/js)
语言,对应的符号表是 sourceMap
;对于 native(c/cpp)
语言,对应的符号表在 so 动态库中。
鸿蒙 App 出现闪退时,闪退日志中的 Crash 堆栈为混淆后的堆栈信息,需要通过符号表对这些堆栈信息进行反向解析,将其转换为可读的函数名和行数,以便定位 App 中出现问题的代码。
导入 HarmonyOS NEXT 符号表
对闪退日志进行符号反解前,要先上传符号表。在 HarmonyOS NEXT 平台中,sourcemap 文件是保存arkts (ets/ts/js)
符号表的目标文件,文件名通常为 sourceMaps.map
(路径在entry/build/default/cache/default/default@CompileArkTS/esmodule/release/sourceMaps.map
);so 文件是保存 native (c/cpp)
符号表的目标文件,文件名通常为 xxx.so
。建议每次构建或发布 App 的时候,备份好sourceMaps.map 和 so
文件。
上传 HarmonyOS NEXT 符号表的步骤如下:
登录 mPaaS 控制台,选择目标应用后,从左侧导航栏进入 移动分析 > 性能分析 > 鸿蒙符号表管理 页面。
导入 sourcemap 符号表,选择导入,填入对应的
版本
和Module Name
(可以在鸿蒙开发项目中查看app.json5
的versionName
和bundleName
)。导入 so 符号表,选择 导入,填入 so 文件的下载地址或者本地文件。