鸿蒙集成native库

一、编译三方库

鸿蒙需要使用lycium进行交叉编译。ycium是一款协助开发者通过shell语言实现C/C++三方库快速交叉编译,并在OpenHarmony 系统上快速验证的编译框架工具。开发者只需要设置对应C/C++三方库的编译方式以及编译参数,通过lycium就能快速的构建出能在OpenHarmony 系统运行的二进制文件。

环境准备

下载OHOS SDK

参考OHOS_SDK

配置环境变量

 

export OHOS_SDK=/home/ohos/tools/OH_SDK/ohos-sdk/linux # 此处SDK的路径使用者需配置成自己的sdk解压目录

拷贝编译工具
 

cd lycium/Buildtools # 进入到工具包目录 sha512sum -c SHA512SUM # 可校验工具包是否正常, 若输出"toolchain.tar.gz: OK"则说明工具包正常,否则说明工具包异常,需重新下载 tar -zxvf toolchain.tar.gz # 解压拷贝编译工具 cp toolchain/* ${OHOS_SDK}/native/llvm/bin # 将命令拷贝到工具链的native/llvm/bin目录下

下载lycium
 

git clone https://gitee.com/openharmony-sig/tpc_c_cplusplus.git --depth=1

编译三方库

  编译
 

切换到lycium目录 cd lycium ./build.sh openssl

编译成功后会输出ALL JOBS DONE

生成的三方库存放在lycium/usr目录下

可以在tpc_c_cplusplus-master/thirdparty/openssl/HPKBUILD文件中,修改编译脚本,如输出架构等。

二、鸿蒙集成三方库

  1. 新建native c++module

  2. 三方库放在native/src/main/cpp/thirdparty目录下

  1. 编辑CMakeList文件,引入三方库和头文件

 

# 配置连接 target_link_libraries(native PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/rtmpdump/${OHOS_ARCH}/lib/librtmp.a) target_link_libraries(native PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/openssl/${OHOS_ARCH}/lib/libssl.a) target_link_libraries(native PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/openssl/${OHOS_ARCH}/lib/libcrypto.a) #将三方库的头文件加入工程中 target_include_directories(native PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/rtmpdump/${OHOS_ARCH}/include) target_include_directories(native PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/openssl/${OHOS_ARCH}/include)

  1. 编写napi接口

在src/main/cpp/types/libnative/Index.d.ts文件编写需要暴露的接口

 

export const alloc: () => number;

在src/main/cpp/napi_init.cpp文件中会自动添加接口声明

根据业务需求自行实现功能。至此,ets即可调用native层代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值