HarmonyOS 鸿蒙Next 如何在项目中使用.so 文件

HarmonyOS 鸿蒙Next 如何在项目中使用.so 文件 如何在项目中使用.so 文件 可否直接提供方法进行相关方法的调用

10 回复

更多关于HarmonyOS 鸿蒙Next 如何在项目中使用.so 文件的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


好的
收到
谢谢啦,

请问解决了吗?可以介绍下具体的流程吗?

需要在项目里面创建对应的native工程或模块,CMake构建

文件是其他同事打包好的.so文件,我这边需要调用里面的方法,之前Android studio的时候是直接放入工程内,之后用system.libname这种方式引入的,那么现在用DevEco开发的话我应该怎么做呀求大神指点,

你同事需要把 JNI 方法替换成 nAPI 方法才行。然后导出一个 JS 对象供你调用。可以参考一下目前的一些开源库,比如 MMKV https://gitee.com/openharmony-tpc/MMKV

好的
感谢!!!!,

你是想ts里调用so方法。还是native里调用so方法啊

我想ts里调用已经打包好的.so文件,

在HarmonyOS鸿蒙Next项目中,使用.so文件主要涉及以下几个步骤:

  1. 文件放置:将.so文件放置在项目的libs目录下。通常,libs目录位于项目的src/main目录下。如果目录不存在,可以手动创建。

  2. 配置build.gradle:在项目的build.gradle文件中,添加对.so文件的引用。具体配置如下:

    android {
        sourceSets {
            main {
                jniLibs.srcDirs = ['libs']
            }
        }
    }
    
  3. 加载.so文件:在代码中,使用System.loadLibrary方法加载.so文件。例如:

    static {
        System.loadLibrary("your_library_name");
    }
    

    其中,your_library_name.so文件的名称,不包含前缀lib和后缀.so

  4. 调用Native方法:在Java或Kotlin代码中,声明并调用Native方法。例如:

    public native void yourNativeMethod();
    

    然后在适当的地方调用该方法。

  5. 编译运行:完成上述步骤后,编译并运行项目,确保.so文件被正确加载和使用。

通过以上步骤,你可以在HarmonyOS鸿蒙Next项目中成功使用.so文件。

回到顶部