当前课程未解锁
NDK开发课程介绍
1、什么是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动态库。
2、NDK适用场景
适合使用NDK的场景:应用涉及如下场景时,适合采用NDK开发
- 性能敏感的场景,如游戏、物理模拟等计算密集型场景。
- 需要复用已有C或C++库的场景。
- 需要针对CPU特性进行专项定制库的场景,如Neon加速。
不建议使用NDK的场景:应用涉及如下场景时,不建议采用NDK开发
- 纯C或C++的应用。
- 希望在尽可能多的HarmonyOS设备上保持兼容的应用。
为什么要学习NDK知识?
- 系统能力使用,不使用NDK完成不了功能
- 多线程
3、依赖基础知识
- Linux C语言编程知识
内核、libc基础库基于POSIX等标准扩展而来,掌握基本的Linux C编程知识能够更好的帮助理解HarmonyOS NDK开发。 - CMake使用知识
CMake是HarmonyOS默认支持的构建系统。请先通过CMake官方文档了解基础用法。 - Node Addons开发知识
ArkTS采用Node-API作为跨语言调用接口,熟悉基本的Node Addons开发模式,可以更好理解NDK中Node-API的使用。 - Clang/LLVM编译器使用知识
具备一定的Clang/LLVM编译器基础知识,能够帮助开发者编译出更优的Native动态库。
4、课程内容介绍
基础篇
- C++基础语法
- NAPI基础介绍
- 构建工具CMake
进阶篇
- 开发工具介绍
NAPI进阶
- 异步使用
- 异步原理
- NDK常用模块介绍
高级篇
- 借助工具定位问题
- 编译三方C++库(跨平台)
实战
- 音视频
- OpenGL