通过Android Studio 的Sdk Manager安装NDK,安装完之后编译失败,报错信息如下:
No toolchains foundinthe NDK toolchains folderforABIwithprefix: mips64el-linux-android
翻一翻NDK的文档,看到这样一段:
ndk-document.png
找到自己本地的android-sdk,如果下载了ndk的相关sdk,会有一个叫“ndk-bundle”的文件夹
里边有一个叫“toolchains”的文件夹
我们注意到里边确实没有mips64el相关的文件
解决办法如下:
点击这里通过浏览器单独下载NDK的包.
解压之后打开“toolchains”文件夹,跟android-sdk->ndk-bundle->toolchains文件夹做对比,找到其缺少的文件夹,复制过去
3.重新编译,问题解决.
最新补充
有同学反馈说下载的包里并没有找到我说的这个文件夹(mips64el...-4.9),我注意到官方最近确实新发了一版,最新的稳定版本(r18b)中确实已经移除了这个文件夹,大家可以去下载历史版本,r17c、16b版本中都可以找到这个文件夹
older.png
另外,在最新的稳定版本(r18b)的变更日志中,我们可以看到这样一段话:
This version of the NDK is incompatible with the Android Gradle plugin version 3.0 or older. If you see an error like No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android, update your project file touse plugin version 3.1 or newer. You will also need to upgrade to Android Studio 3.1 or newer.
大概的意思就是说,这个版本与Gradle 3.0之前的版本不兼容,会报我们遇到的这个问题,所以,有一个更简单的解决办法:
如果项目允许的话,将Gradle版本升级到高于3.0的版本,同时也需要将Android Studio升级到3.1或更高的版本.
当然,还有一种更简单更纯粹的应付办法:报缺少哪个,就在前文提到的目录下新建一个对应名字的空文件夹即可。
发现一个更快的,下载的文件大小就1KB,所以尝试了一下,直接添加
toolchains\mips64el-linux-android-4.9\prebuilt\darwin-x86_64
这个层级目录就行了
网友评论