HarmonyOS 鸿蒙Next:为什么打har包时,在打出的libs里总是包含未用到的libc++_shared.so
HarmonyOS 鸿蒙Next:为什么打har包时,在打出的libs里总是包含未用到的libc++_shared.so 打出har包供他人使用,但是build以后,har包中的libs里总是包含两个框架的libc++_shared.so,但项目并没有用到这个so,也没有引入。为什么会出现这个?怎么才能不把它打进har包?
libc++_shared.so是系统提供,c运行时依赖的库。hmos.toolchain.cmake中OHOS_STL参数,默认是c_shared,会生成此文件。
修改编译参数 OHOS_STL 为 c++_static 可不生成libc++_shared.so,修改方式详见“使用DevEco Studio模板构建NDK工程”和“使用命令行CMake构建NDK工程”。
但是需要评估这样修改是否满足您的场景,由于C++运行时中存在一些全局变量,因此同一应用中的全部Native库需要采用相同的链接方式。
参考:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/build-with-ndk-overview-V5
更多关于HarmonyOS 鸿蒙Next:为什么打har包时,在打出的libs里总是包含未用到的libc++_shared.so的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
- 清理并重新构建项目,确保构建环境干净。
- 仔细检查项目依赖和构建脚本,移除不必要的依赖和链接选项。
- 如果使用了预编译库,考虑替换为不包含
libc++_shared.so
的版本。
如果问题依旧没法解决请联系官网客服,官网地址是https://www.itying.com/category-93-b0.html