#冲刺创作新星# [七] 写个NAPI子系统 原创 精华
左翼风发
发布于 2022-9-30 08:54
浏览
4收藏
作者:王石
在《[六]第一个hap应用》我们熟悉了如何在OpenHarmony开发hap应用,后期的文章我们会写在hap应用里调用系统库甚至是动态库。此篇文章,我们主要是熟悉下NAPI框架,并一起写一个支持NAPI的子系统,这样以后当我们想在hap应用里加自己功能的时候就可以方便的添加。
NAPI框架简介
NAPI(Native API)组件是一套对外接口基于Node.js N-API规范开发的原生模块扩展开发框架。类似于Android的JNI,NAPI框架实现了应用层ts/ets/js语言编写的代码和OpenHarmony的native代码(c/c++)交互的能力。此框架由Node.js N-API框架扩展而来。
注意:OpenHarmony的标准系统是采用NAPI框架的,轻量系统则是采用jerryscript框架
详细的内容介绍在一下链接内可以看到官方的说明:
参考链接:https://gitee.com/openharmony/arkui_napi
NAPI的使用
-
创建d.ts: @ohos.napitest.d.ts, basic.d.ts
- @ohos.napitest.d.ts是NAPI的声明文件,在DevEco Studio开发的时候会用到d.ts来检查语法和提供代码帮助;
- basic.d.ts:一些基础方法的声明
-
执行napi_generator
建立个文件夹,将上面建立的两个d.ts和napi_generator放在一起
-
建立子系统
- 在OpenHarmony源码目录下建立foundation/napitest,将之前生成的文件拷贝到文件夹内
- 在目录里创建bundle.json,使用一下内容
- 为了和bundle.json对应,将BUILD.gn改成如下:
-
引入子系统
-
增加子系统,修改build/subsystem_config.json
-
增加编译入口(已目前的master版本为基础,3.2后改过编译路径)
-
-
编译生成
总结
这样我们就有了自己的subsystem和napi接口,后面的章节我们会讲如何在hap应用里调用系统库
参考链接:https://gitee.com/openharmony/napi_generator/tree/master
©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
分类
标签
napi_generator-linux.zip 33.08M 34次下载
已于2022-12-20 10:02:44修改
赞
6
收藏 4
回复
6
5
4
相关推荐
学好NAPI,成为底层大佬
期待在hap里面调用动态库的内容
这部分会有两种方式,后面会发两篇文章
不错不错,还算详细
不错,之前都是自己写的,现在都有生成工具了,对开发者越来越友好了