Win10 上使用 MSYS 开发 Android NDK 程序

目标在 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进行处理,非常感谢!

上一篇 2021年5月13日
下一篇 2021年5月13日

相关推荐