HarmonyOS鸿蒙Next中NDK开发时,生成HAR包时,如何删除掉libc++_shared so这个so库不集成到har包里
HarmonyOS鸿蒙Next中NDK开发时,生成HAR包时,如何删除掉libc++_shared so这个so库不集成到har包里 使用NDK时,会自动生成一个libc++_shared.so的库,如何不要打包到har包里,我使用了napiLibFilterOption中的excludes,但是没有效果,依然会打入har包中的lib目录下,如果我有多个NDK项目,每个项目都存在这样的一个so库,包大小就会增加,所以怎么可以排除掉?
请参考:在模块级中加入
"nativeLib":
{
"filter":
{
"excludes":[
"*/Libc++_shared.so"]
}
}
更多关于HarmonyOS鸿蒙Next中NDK开发时,生成HAR包时,如何删除掉libc++_shared so这个so库不集成到har包里的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS鸿蒙Next中进行NDK开发时,生成HAR包时如果不希望集成libc++_shared.so库,可以通过修改构建配置文件来实现。具体步骤如下:
- 打开项目的
build.gradle文件。 - 在
ndk配置块中,添加arguments参数,指定不使用libc++_shared.so库。例如:ndk { arguments '-DANDROID_STL=c++_static' } - 保存并重新构建项目。
通过上述配置,构建时将使用c++_static而不是c++_shared,从而避免将libc++_shared.so集成到HAR包中。
在HarmonyOS鸿蒙Next中进行NDK开发时,若希望生成的HAR包中不包含libc++_shared.so库,可以在CMakeLists.txt中通过设置ANDROID_STL为c++_static来静态链接C++标准库,从而避免生成libc++_shared.so。具体配置如下:
set(ANDROID_STL c++_static)
这样,编译时将使用静态库而非动态库,从而生成的HAR包中不会包含libc++_shared.so。

