问题:
java.io.IOException: Cannot run program "D:\Android\ndk-bundle\toolchains\mips64el-linux-android-4.9\prebuilt\windows-x86_64\bin\mips64el-linux-android-strip" (in directory "D:\Workspace\xxx\app"): CreateProcess error=2, 系统找不到指定的文件。
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
原因:
This mips64el-linux-android-4.9 directory exists to make the NDK compatible with the Android
SDK's Gradle plugin, version 3.0.1 and earlier, which expects the NDK
to have a MIPS64 toolchain directory.
翻译如下:
这个MIPS64 EL-LIUX-ANDROID-4.9目录用于使NDK与Android兼容。
SDK的Gradle插件,版本3.0.1和更早,期望NDK
有一个MIPS64工具链目录。
1. 升级Gradle 版本后导致的,ndk 编译依赖方式的改变,细节是指定目录下无此命令工具嘞;
2. 后来懒得搞gradle 版本依赖,如果全部依赖包都升级Gradle 也可以解决;
对比
如下:
1. ndk-bundle 提供的,
2. android-ndk-r16b 提供的,
问题解决:
提供如下解决方式:
1. 下载老版本NDK,地址:https://dl.google.com/android/repository/android-ndk-r16b-windows-x86_64.zip;
2. 解压放到Android 目录下,如图所示:
3. 打开你的项目工程目录,local.properties 文件,ndk.dir 替换为老版本目录即可,如图所示:
4. 重新clean,compile 然后问题解决;
参考:
1. ips64el-linux-android-strip error=2, No such file or directory;