HarmonyOS 鸿蒙Next 第三方so代码调试

发布于 1周前 作者 htzhanglong 来自 鸿蒙OS

HarmonyOS 鸿蒙Next 第三方so代码调试

本地命令行编译的so,拷贝到本地另一个工程编译成har,然后被鸿蒙app工程调用,有什么办法调试到so中的源码或者监控到so中跑的函数符号 
 

2 回复
鸿蒙Deveco Studio支持对三方so调试,在 native 调试配置界面中的“Symbol Directories”页签,点击“+”,可以添加符号表路径。这里指的是带有调试信息的 so 库。例如,可以先编译带有调试信息的 so 库,然后将其调试信息裁减掉,在设备侧运行无调试信息的 so 库,调试时将带有调试信息的 so 库路径添加在这里,可以实现对该 so 库的调试。

更多关于HarmonyOS 鸿蒙Next 第三方so代码调试的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


针对HarmonyOS鸿蒙Next第三方so代码调试问题,以下是一些专业建议:

  1. 环境配置

    • 确保已正确安装DevEco Studio及OpenHarmony SDK。
    • 配置好CMakeLists.txt,确保能正确编译和链接第三方so库。
  2. so库放置与链接

    • 将编译好的so库文件放置在项目的entry/libs/对应架构目录下(如arm64-v8a)。
    • 在CMakeLists.txt中添加代码,链入so库,确保编译时能找到并链接。
  3. 代码调试

    • 在Native侧的.cpp文件中,通过包含对应的头文件来使用so库提供的功能。
    • 使用DevEco Studio的调试工具,设置断点,逐步调试代码,查看变量值和函数调用栈。
  4. 闪退问题处理

    • 确保NAPI接口的使用符合鸿蒙系统的规范,特别是多线程环境下的调用。
    • 检查第三方so库是否与鸿蒙系统兼容,以及是否正确链接到项目中。
    • 确保应用拥有足够的权限来加载和执行第三方so库。
  5. 日志与错误信息

    • 使用鸿蒙开发者工具获取详细的错误信息,并仔细分析堆栈跟踪以确定问题发生的位置。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部