背景
Native API(NDK)入门
Native API 是 OpenHarmony SDK 上提供的一组 native 开发接口与工具集合(也称为 NDK),方便开发者使用 C 或者 C++ 语言实现应用的关键功能。Native API 只覆盖了 OHOS 基础的一些底层能力,如 libc,图形库,窗口系统,多媒体,压缩库等,并没有完全提供类似于 JS API 上的完整的 OHOS 平台能力。在应用中使用 Native API 会编译成动态库打包到应用中。
名词概念
| 名词 | 名词解释 |
|---|---|
| Native API | OHOS SDK 里面 native 包提供的,面向三方应用开发的 Native 接口以及相应编译脚本,编译工具链。包括 C 运行时基础库 libc,3D 图形库 opengl,面向 JS 与 C 跨语言的接口 Node-API 等,具体内容详见下表。 |
| NDK | Native Develop Kit 的缩写,在 OHOS 上就是 Native API;Native API 是官方名字,NDK 指代相同意思。 |
| SDK CAPI | OHOS Native API 中的 C 语言接口,以及工具链部分,当前 OHOS 的 Native API 里面只包含 C 语言接口,因此 Native API 与 CAPI 意思一样,建议交流的时候使用 CAPI,防止 Native API 与 napi 缩写混用。 |
| Node-API | 曾用名 napi,是 OHOS 中提供 JS 与 C 跨语言调用的接口,是 Native API 接口中的一部分. 该接口在 Node.js 提供的 Node-API 基础上扩展而来,但不完全与 Node.js 中的 Node-API 完全兼容。 |
| napi | Node-API 的曾用名,当前 Node-API 头文件中的接口仍然以 napi_开头,不建议使用。 |
Native API 构成介绍
Native API 目录结构
Native API 在 SDK 包的位置为$(SDK_ROOT)/native 目录,主要有以下几个部分组成
| 目录 | 功能说明 |
|---|---|
| build | 应用中编译动态库的 toolchain cmake 脚本;这个目录下 ohos.toolchain.cmake 文件定义了给 OHOS 交叉编译选项 |
| build-tools | 放置编译构建的工具,如 cmake |
| docs | Native API 接口参考文档,通过 doxgen 从头文件中提取出来 |
| llvm | 支持 OHOS ABI 的 llvm 交叉编译器 |
| sysroot | 放置编译链接的依赖文件目录,包含头文件,动态库等 |
Native API 接口(4.0 Release)
| 接口分类 | 接口功能 | 引入版本 |
|---|---|---|
| 标准 C 库 | 以 musl 为基础提供的标准 c 库接口,当前提供了 1500+ 的接口 | 8 |
| 标准 C++ 库 | c++ 运行时库 libc++_shared,此库在打包的时候需要打包或者静态链接到应用中 | 8 |

最低0.47元/天 解锁文章

125

被折叠的 条评论
为什么被折叠?



