Win10 上使用 MSYS 开发 Android NDK 程序

Posted 车斗

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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-ndk\\android-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

正确!

 

以上是关于Win10 上使用 MSYS 开发 Android NDK 程序的主要内容,如果未能解决你的问题,请参考以下文章

Win10 上使用 MSYS 开发 Android NDK 程序

win10下使用msys+vs2019编译ffmpeg源码

win10下使用msys+vs2019编译ffmpeg源码

win10下使用msys+vs2019编译ffmpeg源码

win10下使用msys+vs2019编译ffmpeg源码

win10环境下MinGW和MSYS的安装与配置