ArkTS

  • ArkTS HAP应用构建过程:
build-process
  • 应用发布过程:
hap-publish

NDK (7.15)

Native C++工程目录

  • cpp/types:存放C++接口描述文件
  • cpp/napi_init:定义C++ API接口的文件

Node-API

Node-API简介

  • Node-API(ArkTS和C++间)交互流程:
node-api.png
  1. 初始化阶段:当ArkTS侧在import一个Native模块时,ArkTS引擎会调用ModuleManager加载模块对应的so及其依赖。首次加载时会触发模块的注册,将模块定义的方法属性挂载到exports对象上并返回该对象。
  2. 调用阶段:当ArkTS侧通过上述import返回的对象调用方法时,ArkTS引擎会找到并调用对应的C/C++方法。

Web

华为云视频直播服务

cmakelist

1
2
#声明一个产物libentry.so,SHARED表示产物为动态库,hello.cpp为产物的源代码
add_library(entry SHARED hello.cpp)

CMake 会根据目标平台的约定自动添加前缀和后缀。

  • Unix 系统,CMake 会自动在库名前添加 lib,并在库名后添加 .so。
  • Windows系统,共享库的文件名通常以 .dll 结尾