
OpenHarmony系统之Napi框架生成工具介绍(二) 原创
作者:胡瑞涛
前言
在上一篇博客中我们介绍了napi框架生成工具可执行程序的使用方法以及如何集成到OpenHarmony 4.0 release系统并进行测试;本篇文章将介绍如何将napi框架生成工具生成的代码集成到OpenHarmony 4.1 release。
使用说明
如何安装并使用napi框架生成工具,请参考上一篇文章:
集成
将napi框架生成工具生成的代码集成到OpenHarmony 4.1 release
建立模块位置
模块目录理论上可在OpenHarmony工程的任一位置,假设OpenHarmony代码库的目录为OHOS_SRC,在OHOS_SRC/foundation目录下,建测试模块目录:napitest。napitest目录结构如下:
napitest
|-- binding.gyp
|-- BUILD.gn
|-- bundle.json
|-- napitest.cpp
|-- napitest.h
|-- napitest_middle.h
|-- napitest_middle.cpp
|-- test.sh
|-- tool_utility.cpp
|-- tool_utility.h
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
其中bundle.json为新增的编译配置文件,其它为工具生成的代码。
编译修改点
修改bundle.json文件
其中destPath选项中的"//foundation/napitest"指的是napitest目录,":napitest"指的是上面BUILD.gn中的目标ohos_shared_library(“napitest”)。
修改BUILD.gn文件
删除ohos_shared_library(“napitest”)中的deps,并新增外部依赖napi和hilog,即 external_deps = [ “napi:ace_napi”,“hilog:libhilog”, ]。修改后的BUILD.gn文件内容如下所示:
增加子系统
在源码/build/subsystem_config.json中增加子系统选项。如下所示:
添加功能模块
在产品配置中添加上述子系统的功能模块,编译到产品产出文件中,例如在源码vendor/hihope/rk3568/config.json中增加part选项,其中第一个napitest就是BUILD.gn文件中的subsystem_name,第二个napitest就是BUILD.gn文件中的part_name。
编译验证
编译成功后,就会在 /out/产品名/packages/phone/system/lib/module/ 生成libnapitest.z.so,如下所示:
/out/rk3568/packages/phone/system/lib/module
- 1.
应用测试
如何编写应用对接口进行测试并查看结果,请参考上一篇文章:
