HarmonyOS 鸿蒙Next 如何在 library 中使用第三方的 so 库,然后把 library 打成 sdk 给别的项目

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

HarmonyOS 鸿蒙Next 如何在 library 中使用第三方的 so 库,然后把 library 打成 sdk 给别的项目 如何在library中使用第三方的so库,然后把library打成sdk给别的项目?(API9)

3 回复

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供其他项目使用,可以按照以下步骤操作:

  1. 将so库放入library的libs目录:在library项目的src/main目录下创建libs文件夹,将第三方so库文件放入其中。

  2. 配置build.gradle文件:在library的build.gradle文件中添加以下配置,确保so库被正确打包:

    android {
        sourceSets {
            main {
                jniLibs.srcDirs = ['libs']
            }
        }
    }
  3. 加载so库:在library的代码中,使用System.loadLibrarySystem.load方法加载so库。例如:

    static {
        System.loadLibrary("your_library_name");
    }
  4. 打包library为AAR:在终端或命令行中运行以下命令,将library打包为AAR文件:

    ./gradlew assembleRelease

    生成的AAR文件位于build/outputs/aar/目录下。

  5. 在其他项目中引用AAR:将生成的AAR文件放入其他项目的libs目录,并在build.gradle文件中添加依赖:

    dependencies {
        implementation fileTree(dir: 'libs', include: ['*.aar'])
    }

通过以上步骤,即可在HarmonyOS鸿蒙Next的library中使用第三方so库,并将其打包成SDK供其他项目使用。

在HarmonyOS鸿蒙Next中,使用第三方so库并将其打包成SDK的步骤如下:

  1. 配置CMakeLists.txt:在library模块的CMakeLists.txt中添加target_link_libraries指令,链接第三方so库。

  2. 放置so文件:将第三方so文件放置在src/main/cpp/libs目录下,并按ABI分类(如arm64-v8a)。

  3. 打包SDK:在build.gradle中配置packagingOptions,确保so文件被打包进aar中。然后使用./gradlew assembleRelease生成aar文件。

  4. 使用SDK:在其他项目中,将生成的aar文件放置在libs目录下,并在build.gradle中添加依赖implementation files('libs/your-library.aar')

通过以上步骤,即可在HarmonyOS鸿蒙Next中使用第三方so库并打包成SDK供其他项目使用。

回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!