[解决]No toolchains found in the NDK toolchains folder for ABI with prefix,

解决:Expected caller to ensure valid ABI: MIPS等等错误,

转载:https://www.jianshu.com/p/fd3d49c7f1f8

写在前面:通过我的实践发现,NDK编译报错,多半是Android studio的版本和NDK的版本不匹配,2.3的Android studio,用17年发布的14b的NDK可以使用,3.1的使用最新的NDK不会报错,所以如果下载NDK不能使用,根据Android studio发布时间找到对应NDK发布时间,应该就不会错了,

由于我自己使用的Android studio是2.3,自动下载的ndk缺是最新的,所以报错,我换了旧的,编译通过,点击这里下载不同版本NDK

 

通过Android Studio 的Sdk Manager安装NDK,安装完之后编译失败,报错信息如下:

No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android

 

网上查了一通,答案大同小异,但都无法解决我的问题,只能自己研究了.

翻一翻NDK的文档,看到这样一段:

找到自己本地的android-sdk,如果下载了ndk的相关sdk,会有一个叫“ndk-bundle”的文件夹

里边有一个叫“toolchains”的文件夹

 

我们注意到里边确实没有mips64el相关的文件

 

解决办法如下:

  1. 点击这里通过浏览器单独下载NDK的包.
  2. 解压之后打开“toolchains”文件夹,跟android-sdk->ndk-bundle->toolchains文件夹做对比,找到其缺少的文件夹,复制过去

 

3.重新编译,问题解决.

最新补充

有同学反馈说下载的包里并没有找到我说的这个文件夹(mips64el...-4.9),我注意到官方最近确实新发了一版,最新的稳定版本(r18b)中确实已经移除了这个文件夹,大家可以去下载历史版本,r17c、16b版本中都可以找到这个文件夹

 另外,在最新的稳定版本(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 to use 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或更高的版本.

当然,还有一种更简单更纯粹的应付办法:报缺少哪个,就在前文提到的目录下新建一个对应名字的空文件夹即可。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值