鸿蒙中native层的sdk详细解析 c c++

本文介绍了在鸿蒙系统中如何创建har包和hsp包,重点讲解了Index.ets文件的作用,C++代码的编译过程,napi的使用,以及如何设置和调用.so接口。讲述了从创建静态和动态共享库到安装和调用har包的详细步骤。
摘要由CSDN通过智能技术生成

鸿蒙中支持har包和hsp包的创建,其中har包是静态共享库,编译后会生成一个以har为后缀的文件。Hsp是动态共享包,编译后生成一个以hsp为后缀的文件。

图片

Index.ets文件是HAR导出声明文件的入口,HAR需要导出的接口,统一在Index.ets文件中导出。在编译构建HAR的过程中,不会将模块中的C++代码直接打包进.har文件中,而是将C++代码编译成动态依赖库.so文件放置在.har文件中的libs目录下。

创建har包

选择static library方式,并且包含native的选项

图片

图片

创建类以及函数

图片

在CMaakeLists.txt文件中包含类的cpp文件,才能进行编译

图片

napi的创建调用

将c++的代码转换为napi方式去做调用

图片

napi中进行重命名以及注册

图片

将napi的函数进行设置导出共ark语言调用也就是ets中调用(这个的导出也就是so的接口导出)

图片

因为在arkts中是无法直接调用so的接口,需要通过napi中转到ets中进行调用

下面就是so中导出的接口通过napi中转后,其他第三方就可以调用so的接口了。

图片

设置so导出接口

最后需要再index.ets文件中设置arkts的接口导出,接口导出需要指明到具体文件上

图片

调用so接口

生成har包后,就可将har包放到要调用的代码目录中了,放在entery的目录上即可

图片

安装har包到项目中,前面是定义的har包的名称,后面指定的是放到目录中的har包。接着会提示错误,最后,只要执行install 就可以了,这样就会将har包安装到项目中了

图片

项目中调用har包的导出接口,需要先用import方式导入

图片

安装在鸿蒙手机中,执行下就可看到结果

图片

转自:鸿蒙中native层的sdk详细解析

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值