目录

NDK开发导读

NDK(Native Development Kit)是HarmonyOS SDK提供的Native API、相应编译脚本和编译工具链的集合,方便开发者使用C或C++语言实现应用的关键功能。NDK只覆盖了HarmonyOS一些基础的底层能力,如C运行时基础库libc、图形库、窗口系统、多媒体、压缩库、面向ArkTS/JS与C跨语言的Node-API等,没有提供ArkTS/JS API的完整能力。

运行状态,开发者可以使用NDK中的Node-API接口,访问、创建、操作JS对象;也允许JS对象使用Native动态库。

NDK适用场景

适合使用NDK的场景:应用涉及如下场景时,适合采用NDK开发

不建议使用NDK的场景:应用涉及如下场景时,不建议采用NDK开发

NDK必备基础知识

为顺利进行NDK开发,开发者需要先掌握必要的基本概念及基础知识。

[h2]前置知识

[h2]NDK目录简介

获取NDK开发包,请参考NDK开发工具目录。

NDK常用模块

下表介绍了NDK的常用模块及其功能简介。

模块 模块简介
标准C库 基于musl提供的标准C库接口。
标准C++库 C++运行时库接口,提供C++运行时能力。
日志 提供向系统输出HiLog日志接口。
Node-API 支持ArkTS/JS和C/C++之间的交互接口。
FFRT 基于任务的并发编程框架。
libuv 第三方异步IO库。
zlib 提供基础数据压缩与解压功能的zlib库。
Rawfile 提供访问应用内置资源的接口,可用于读取应用中打包的各种资源。
XComponent ArkUI XComponent组件,提供surface与触屏事件等接口,便于开发高性能图形应用。
Drawing 系统提供的2D图形库,支持在surface进行绘制。
OpenGL 系统提供的OpenGL 3D图形接口。
OpenSL ES 支持2D、3D音频加速的接口。