由于在项目开发过程中需要将一些数据隐藏,但是又不想暴露出去,可以将数据放到so库中,在so库中经过一些加密算法的加工在给arkts端使用。以下是自定义的so库的步骤。

1.生成.so

创建Native工程:DevEco Studio -> File -> New -> Create Project -> Native C++

harmony中调用自定义so-鸿蒙开发者社区

创建成功之后,main目录下会有一个cpp目录,在cpp中可以编写自己的c代码了

harmony中调用自定义so-鸿蒙开发者社区

其中 Index.d.ts: 是一个声明文件,用来声明导出的 C++ 函数,在 JS 中可以直接使用这些函数。

oh-package.json5: 这是一个配置文件,用来配置so名称、版本等信息

CMakeLists.txt、napi_init.cpp: C++代码以及 CMakeLists.txt 文件,用来编译生成 .so 文件,.cpp 文件内用于编写你的逻辑代码

我的c代码,大致如下:

harmony中调用自定义so-鸿蒙开发者社区

其中,

.nm_modname = “entry”,必须和你的目录名字保持一致。

将你的函数注册到index.d.ts中即可

harmony中调用自定义so-鸿蒙开发者社区

2.打包

Build -> Build Module,在build -> intermediates -> libs -> default目录下生成.so

harmony中调用自定义so-鸿蒙开发者社区

3.使用.so

将自己的so库copy到你的项目中,放到新建的libs下

harmony中调用自定义so-鸿蒙开发者社区

在oh-package.json5添加依赖

harmony中调用自定义so-鸿蒙开发者社区

在使用的地方引入

harmony中调用自定义so-鸿蒙开发者社区

以上就可以成功调用了

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐