要为 Android 交叉编译各种程序,就不得不安装 Android NDK。
准备
- 至少 2GB 的可用存储空间
- 稳定的网络环境
下载
使用浏览器从官网下载
访问 NDK 下载页面,找到合适的 NDK 版本(比如 r27c),点击链接下载 zip 文件。
通过命令行下载
1 | wget "https://dl.google.com/android/repository/android-ndk-[andrid_ndk_version]-linux-x86_64.zip" |
其中 [andrid_ndk_version] 替换为所要下载的 NDK 版本,例如 r20。
安装
解压
cd
到 zip 文件所在位置,然后:
1 | unzip android-ndk-[ndk_version]-linux-x86_64.zip |
其中 [ndk_version] 为 NDK 版本。
安装编译链
如果需要编译的程序依赖于其他库,那就需要安装编译链(GO 语言编写的多数程序除外),安装编译链的命令为:
1 | [android_ndk_root]/build/tools/make-standalone-toolchain.sh --arch=[arch] --platform=[platform] --install-dir=[install_dir] |
其中,[android_ndk_root] 为解压后的 Android NDK 所在的目录,[arch] 为目标架构(如 arm64),[platform] 为 目标平台(如 android-21 表示 API 版本 为 21(Android 5.0)的 Android 平台,以此类推),[install_dir] 为编译链安装位置(如 ~/android-arm64)。
注意:安装编译链前需先安装 python-is-python3
和 python3-distutils-extra
,否则会报错:
1 | apt install python-is-python3 python3-distutils-extra |
设置环境变量
1 | export PATH="$PATH:[android_ndk_root]:[android_toolchain_path]/bin" |
其中 [android_ndk_root] 的含义见上文,[android_toolchain_path] 为所安装的编译链所在位置。