HarmonyOS 鸿蒙Next 如何在 library 中使用第三方的 so 库,然后把 library 打成 sdk 给别的项目
HarmonyOS 鸿蒙Next 如何在 library 中使用第三方的 so 库,然后把 library 打成 sdk 给别的项目 如何在library中使用第三方的so库,然后把library打成sdk给别的项目?(API9)
1、将cpp文件夹copy到library/src/main中
2、library中build-profile.json5中增加buildOption配置:
“buildOption”: {
“napiLibFilterOption”: {“enableOverride”: true},
“externalNativeOptions”: {“path”: “./src/main/cpp/CMakeLists.txt”,
“arguments”: “”,
“abiFilters”: [“armeabi-v7a”,“arm64-v8a”],
“cppFlags”: “”}},
3、第三方so库通过在cmake中配置引入
更多关于HarmonyOS 鸿蒙Next 如何在 library 中使用第三方的 so 库,然后把 library 打成 sdk 给别的项目的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS鸿蒙Next中,若要在library中使用第三方的so库,并将该library打包成SDK供其他项目使用,可以按照以下步骤操作:
-
将so库放入library的
libs
目录:在library项目的src/main
目录下创建libs
文件夹,将第三方so库文件放入其中。 -
配置
build.gradle
文件:在library的build.gradle
文件中添加以下配置,确保so库被正确打包:android { sourceSets { main { jniLibs.srcDirs = ['libs'] } } }
-
加载so库:在library的代码中,使用
System.loadLibrary
或System.load
方法加载so库。例如:static { System.loadLibrary("your_library_name"); }
-
打包library为AAR:在终端或命令行中运行以下命令,将library打包为AAR文件:
./gradlew assembleRelease
生成的AAR文件位于
build/outputs/aar/
目录下。 -
在其他项目中引用AAR:将生成的AAR文件放入其他项目的
libs
目录,并在build.gradle
文件中添加依赖:dependencies { implementation fileTree(dir: 'libs', include: ['*.aar']) }
通过以上步骤,即可在HarmonyOS鸿蒙Next的library中使用第三方so库,并将其打包成SDK供其他项目使用。
在HarmonyOS鸿蒙Next中,使用第三方so库并将其打包成SDK的步骤如下:
-
配置CMakeLists.txt:在library模块的
CMakeLists.txt
中添加target_link_libraries
指令,链接第三方so库。 -
放置so文件:将第三方so文件放置在
src/main/cpp/libs
目录下,并按ABI分类(如arm64-v8a
)。 -
打包SDK:在
build.gradle
中配置packagingOptions
,确保so文件被打包进aar中。然后使用./gradlew assembleRelease
生成aar文件。 -
使用SDK:在其他项目中,将生成的aar文件放置在
libs
目录下,并在build.gradle
中添加依赖implementation files('libs/your-library.aar')
。
通过以上步骤,即可在HarmonyOS鸿蒙Next中使用第三方so库并打包成SDK供其他项目使用。