一、安装 NDK
- 下载并解压 android-ndk-r21e-windows-x86_64.zip.
- 将 NDK 所在路径配置到环境变量中,假设解压到
D:\
下。
SetX NDK D:\android-ndk-r21e-windows-x86_64\
二、安装 CMake
- 下载并安装 cmake-3.26.3-windows-x86_64.msi
三、安装 ninja
- 下载并解压 ninja-win.zip.
- 将 ninja 所在路径配置到环境变量PATH中,假设解压到
D:\
下。
SetX PATH “%PATH%;D:\ninja-win”
四、编写 main.c
- 在工程根目录下(假设为
D:\build-hello
)创建 src 文件夹。 - 在 src 文件夹下创建文件 main.c 文件。
#include <stdio.h>
int main(int argc, char *argv[])
{
printf("Hello World!\n");
return 0;
}
五、编写 CMakeLists.txt
- 在 src 文件夹下创建 CMakeLists.txt 文件。
cmake_minimum_required(VERSION 3.0)
project(hello_ndk)
add_executable(helloworld.exe
main.c
)
六、编写 build.bat
- 为了方便编译,将编译命令写到 bat 文件中。
@echo off
cmake ^
-GNinja ^
-DCMAKE_TOOLCHAIN_FILE=C:\android-ndk-r21e-windows-x86_64\android-ndk-r21e\build\cmake\android.toolchain.cmake ^
-DANDROID_PLATFORM=29 ^
-DANDROID_ABI=arm64-v8a ^
-S src ^
-B build
ninja -C build
copy build\helloworld.exe .
- build.bat 成功运行后,在工程根目录下会需要生成需要的可执行文件 helloworld.exe 。
七、测试
D:\build-hello>adb push helloworld.exe /data/local/tmp/
helloworld.exe: 1 file pushed, 0 skipped. 4.4 MB/s (9664 bytes in 0.002s)
D:\build-hello>adb shell chmod +x /data/local/tmp/helloworld.exe
D:\build-hello>adb shell /data/local/tmp/helloworld.exe
Hello World!
D:\build-hello>