目标在 Win10 上用 MSYS 命令行为 Android 编译 C/C++ 程序库。参考下面的文章(太旧了):
https://www.jianshu.com/p/40fa9c8df0bc
https://www.cnblogs.com/blogpro/p/11463459.html
安装 MSYS和相关的编译软件包
https://www.msys2.org/
msys2-x86_64-20210604.exe
安装完之后打开 msys 命令行终端:
$ pacman -Syu
$ pacman -Su
$ pacman -S –needed base-devel mingw-w64-x86_64-toolchain
$ pacman -S zip
$ pacman -S git
安装 NDK 编译环境
https://developer.android.google.cn/ndk/downloads/
android-ndk-r21e-windows-x86_64.zip
然后根据解压位置配置系统环境变量(MSYS2_PATH_TYPE=inherit 是专为MSYS识别win的环境变量而设置):
NDK_ROOT=%_DEVPACK_%android-ndkandroid-ndk-r21e
Path=…;%NDK_ROOT%
MSYS2_PATH_TYPE=inherit
下载 NDK 示例代码:
$ git clone https://github.com/android/ndk-samples.git
测试 ndk-build 编译 Android软件包
打开 msys shell,进入 ndk-samples 目录:
$ cd ndk-samples/other-builds/ndkbuild/hello-jni
$ ndk-build.cmd NDK_PROJECT_PATH=. APP_BUILD_SCRIPT=./app/Android.mk
Android NDK: APP_PLATFORM not set. Defaulting to minimum supported version android-16.
[arm64-v8a] Compile : hello-jni <= hello-jni.c
[arm64-v8a] SharedLibrary : libhello-jni.so
[arm64-v8a] Install : libhello-jni.so => libs/arm64-v8a/libhello-jni.so
[armeabi-v7a] Compile thumb : hello-jni <= hello-jni.c
[armeabi-v7a] SharedLibrary : libhello-jni.so
[armeabi-v7a] Install : libhello-jni.so => libs/armeabi-v7a/libhello-jni.so
[x86] Compile : hello-jni <= hello-jni.c
[x86] SharedLibrary : libhello-jni.so
[x86] Install : libhello-jni.so => libs/x86/libhello-jni.so
[x86_64] Compile : hello-jni <= hello-jni.c
[x86_64] SharedLibrary : libhello-jni.so
[x86_64] Install : libhello-jni.so => libs/x86_64/libhello-jni.so
正确!
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!