HarmonyOS 鸿蒙Next 关于华为官方给出的加载三方预加载so的问题调研

HarmonyOS 鸿蒙Next 关于华为官方给出的加载三方预加载so的问题调研

问题现象

image

参考资料:https://docs.openharmony.cn/pages/v4.0/zh-cn/application-dev/napi/build-with-ndk-prebuilts.md

image

通过华为NDK window版本工具链 交叉编译x86_64和armv8-a全系列so文件,希望可以在APP中使用三方库so的函数功能进行图片压缩。

只要链接了三库TS端就会报错。

image

请各位鸿蒙达人一起交流下这个问题。给一些问题排查的思路。


更多关于HarmonyOS 鸿蒙Next 关于华为官方给出的加载三方预加载so的问题调研的实战教程也可以访问 https://www.itying.com/category-93-b0.html

6 回复

关于NDK的开发可参考以下文档:

NDK开发

更多关于HarmonyOS 鸿蒙Next 关于华为官方给出的加载三方预加载so的问题调研的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


已经解决 更新到最新版本的IDE 和SDK 就可以

遇到同样的问题,请问有解决方案吗?

已经解决 更新到最新版本的IDE 和SDK 就可以,

在HarmonyOS鸿蒙Next中,华为官方提供了加载三方预加载so(共享库)的机制。该机制允许开发者在应用启动前预加载特定的so文件,以优化应用的启动性能。具体来说,开发者可以通过在应用的配置文件中声明需要预加载的so文件,系统会在应用启动时自动加载这些so文件,减少应用启动时的延迟。

华为官方文档中提到,预加载so文件的配置需要在应用的config.json文件中进行声明。开发者可以通过preload字段指定需要预加载的so文件的路径。系统会根据配置在应用启动时提前加载这些so文件,从而加快应用的启动速度。

需要注意的是,预加载so文件的机制依赖于系统的动态链接器(dynamic linker)和内存管理机制。开发者需要确保所预加载的so文件与应用的架构相匹配,并且避免在预加载过程中引入不必要的内存开销或性能瓶颈。

此外,华为官方还提供了相关的调试工具和日志机制,帮助开发者监控和分析so文件的加载过程,确保预加载机制的稳定性和有效性。开发者可以通过系统日志查看so文件的加载情况,并根据日志信息进行优化和调整。

HarmonyOS鸿蒙Next在加载三方预加载so(共享库)时,主要关注安全性和性能优化。华为官方建议开发者遵循以下原则:

  1. 确保so库来源可靠,避免引入恶意代码;

  2. 使用官方提供的API进行加载,确保兼容性和稳定性;

  3. 优化so库的加载顺序和时机,减少启动时间;

  4. 进行充分的测试,确保在不同设备上的兼容性。

通过这些措施,可以提升应用的安全性和用户体验。

回到顶部