Android NDK Linux 下载指南:从入门到实践
Android NDK 简介
Android NDK(Native Development Kit)是 Android 开发工具包的一部分,它允许开发者使用 C、C++ 和其他原生代码语言编写 Android 应用程序,通过 NDK,开发者可以复用现有代码库、优化性能密集型任务(如图像处理、物理模拟),并利用底层硬件加速功能,对于需要高性能计算或跨平台代码复用的项目,NDK 是不可或缺的工具。

在 Linux 系统上开发 Android NDK 应用程序,需要先正确安装和配置 NDK 环境,本文将详细介绍如何在 Linux 系统上下载、安装和配置 Android NDK,并提供常见问题的解决方案。
系统环境准备
在下载 Android NDK 之前,需确保 Linux 系统满足以下基本要求:
- 操作系统:推荐使用 Ubuntu 18.04 或更高版本,其他基于 Debian 的发行版(如 Linux Mint)也可兼容。
- 架构:支持 x86_64(64 位)和 ARM64(64 位 ARM)架构。
- 依赖库:安装必要的开发工具,如
gcc、g++、make和cmake。
表 1:Linux 系统依赖安装命令
| 发行版 | 安装命令 |
|---|---|
| Ubuntu/Debian | sudo apt update && sudo apt install build-essential cmake |
| Fedora/CentOS | sudo dnf groupinstall "Development Tools" && sudo dnf install cmake |
| Arch Linux | sudo pacman -Syu base-devel cmake |
安装完成后,可通过 gcc --version 和 cmake --version 验证工具是否正常可用。
Android NDK 下载方式
Android NDK 提供了多种下载方式,包括官方 SDK Manager、命令行工具和直接下载,以下是具体步骤:
通过 Android Studio SDK Manager 下载
- 安装 Android Studio(最新版本),启动后进入 Tools > SDK Manager。
- 在 SDK Platforms 选项卡中,确保勾选 Android API Level(如 Android 13, API 33)。
- 切换到 SDK Tools 选项卡,勾选 NDK (Side by side) 和 CMake,点击 Apply 安装。
- 安装完成后,NDK 默认路径为
~/.android-sdk/ndk/<version>。
使用命令行工具下载
通过 Android 命令行工具(cmdline-tools)可直接下载 NDK:
# 下载 cmdline-tools(如未安装) wget https://dl.google.com/android/repository/commandlinetools-linux_latest.zip unzip cmdline-tools-linux_latest.zip sudo mv cmdline-tools/ /usr/local/android-sdk/cmdline-tools/latest # 设置环境变量 export ANDROID_HOME=/usr/local/android-sdk export PATH=$PATH:$ANDROID_HOME/cmdline-tools/latest/bin # 下载 NDK sdkmanager "ndk;23.1.7779620" # 替换为所需版本号
直接下载 NDK 压缩包
如果无需完整 Android SDK,可直接从官网下载 NDK 压缩包:

- 访问 Android NDK 官方页面。
- 选择适用于 Linux 的压缩包(如
android-ndk-r23b-linux.zip)。 - 下载并解压到指定目录:
wget https://dl.google.com/android/repository/android-ndk-r23b-linux.zip unzip android-ndk-r23b-linux.zip -d ~/android-ndk
NDK 环境配置
下载完成后,需配置环境变量以在命令行中使用 NDK 工具。
设置 ANDROID_NDK_HOME
编辑 ~/.bashrc 或 ~/.zshrc 文件,添加以下内容:
export ANDROID_NDK_HOME=~/android-ndk/android-ndk-r23b export PATH=$PATH:$ANDROID_NDK_HOME
保存后执行 source ~/.bashrc 使配置生效。
验证安装
通过以下命令检查 NDK 是否配置成功:
$ ndk-build --version Android NDK: r23b
创建第一个 NDK 项目
创建项目结构
mkdir hello-ndk && cd hello-ndk mkdir app/src/main/cpp
编写 C++ 代码
在 app/src/main/cpp 目录下创建 hello.cpp:
#include <jni.h>
#include <string>
extern "C" JNIEXPORT jstring JNICALL
Java_com_example_hello_1ndk_MainActivity_stringFromJNI(
JNIEnv* env,
jobject /* this */) {
std::string hello = "Hello from C++";
return env->NewStringUTF(hello.c_str());
}
配置 CMake
在 app 目录下创建 CMakeLists.txt:

cmake_minimum_required(VERSION 3.18.1)
project("hello-ndk")
add_library(
hello-ndk
SHARED
hello.cpp)
find_library(
log-lib
log)
target_link_libraries(
hello-ndk
${log-lib})
构建项目
在 Android Studio 中配置 NDK 路径后,点击 Build > Make Project 即可生成原生库文件。
常见问题与解决方案
NDK 版本兼容性问题
- 问题:高版本 NDK 与低版本 API 不兼容。
- 解决:在
CMakeLists.txt中指定 NDK 版本:set(ANDROID_NDK $ENV{ANDROID_NDK_HOME})
缺少依赖库
- 问题:编译时报错“undefined reference to ‘XXX’”。
- 解决:通过
target_link_libraries添加所需库,如libc++_shared。
路径中包含空格或特殊字符
- 问题:
ANDROID_NDK_HOME路径含空格导致构建失败。 - 解决:将 NDK 安装到无空格的路径(如
/opt/android-ndk)。
在 Linux 系统上下载和配置 Android NDK 是开发高性能 Android 应用的关键步骤,通过官方 SDK Manager、命令行工具或直接下载压缩包,开发者可以根据需求选择合适的方式,完成环境配置后,结合 CMake 和 JNI 接口,即可实现原生代码与 Java/Kotlin 的无缝集成。
对于初学者,建议从 Android Studio 的可视化工具入手,逐步过渡到命令行操作,遇到问题时,参考官方文档或社区资源(如 Stack Overflow)能有效提升开发效率,随着 NDK 版本的迭代,持续关注新特性和最佳实践,将有助于充分发挥 Android 原生开发的潜力。
















