AIDE 中文文档 下载 App

C/C++ Android NDK 开发——高性能原生代码

什么时候用 NDK

如果你的需求涉及以下场景,考虑用 NDK:

场景说明
游戏引擎Unity、Unreal、OpenGL ES 都是 C/C++ 写的
音视频处理编解码、滤镜、实时处理
加密/解密AES、RSA、签名验证等安全相关
已有 C/C++ 库移植比如从 PC 或 Linux 移植一个跨平台库
极性能敏感的代码比如复杂算法、大量数值计算

如果只是写普通的 UI 应用、网络请求、数据存储——Java + SDK 完全够用,用 NDK 反而是增加复杂度。

NDK 安装

AIDE 自身不包含 NDK。首次创建 NDK 项目或打开已有 NDK 项目时,AIDE 会提示你下载移动端版本的 NDK。

手动安装入口:Settings → Install Mobile NDK

下载需要 Wi-Fi 环境(移动端 NDK 体积不小)。

两种 NDK 开发模式

模式一:Java + JNI + C/C++(推荐)

┌──────────────┐     JNI      ┌──────────────┐
│ Java Activity │ ←─────────→ │ C/C++ 原生层  │
│ (UI + 逻辑)   │             │ (高性能计算)   │
└──────────────┘              └──────────────┘

Java 层负责 UI 和业务逻辑,C/C++ 层负责计算密集的部分。两者通过 JNI(Java Native Interface)互调。

模式二:纯 Native Activity

整个 Activity 生命周期用 C/C++ 实现,不写任何 Java。适合完全不依赖 Android Java API 的应用(比如 2D 游戏)。

在 AIDE 中创建 NDK 项目

新建项目对话框选以下模板之一:

模板说明
Android App / C/Java/XmlJava 主体 + C/C++ JNI 调用
Android App / C/C++ Native Activity纯 C/C++ 原生 Activity

AIDE 会自动生成 JNI 示例代码、CMakeLists.txt 构建脚本、以及 Java 调用 C 方法的示例。

架构限制

NDK 项目只能在 ARM 设备上编译和运行。

在模拟器上想跑 NDK 项目,请用 ARM 系统镜像的模拟器(性能会差一些)。

C/C++ 代码编辑体验

AIDE 对 C/C++ 提供:

如果 C/C++ 代码是项目的核心部分,建议在电脑上用 CLion 或 VS Code 写好再带到手机上。AIDE 里主要负责 Java 层和构建运行。