解决No version of NDK matched the requested version问题
Posted BennuCTech
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决No version of NDK matched the requested version问题相关的知识,希望对你有一定的参考价值。
前言
一个本来好好的项目,突然在运行的时候报错:
No version of NDK matched the requested version 21.0.6113669. Versions available locally: 20.1.5948944
网上很多人建议在build.gradle中添加ndk,如下:
android
...
ndkVersion '20.1.5948944'
也确实可以解决问题,但是本来一个对ndk版本没有强依赖的项目,现在固定在一个版本上,其他开发者也必须有这个具体版本才能正常编译运行。
我认为这并不是一个完美的解决方案,于是继续调查了一下。
gradle的坑
经过调查发现,这果然是gradle的一个坑,某大佬描述如下:
20年2月-6月发行的Android Gradle plugin 3.6-4.1之间的版本,如果项目有依赖ndk,可能存在编译不通过问题。4.1.0-beta01已修复该bug。
所以我觉得真正的解决方案应该是升级gradle,如果要升级gradle,就需要gradle和gradle plugin同时升级,而且二者之间存在版本对应,在之前两者的版本号并不一致,导致每次都需要进行查询。近期google终于将两者版本升级成一致的了,也就避免了每次去对照版本了,所以我将gradle和gradle plugin升级到7.0.x后就可以正常编译运行了,具体如下:
classpath 'com.android.tools.build:gradle:7.0.3'
和
distributionUrl=https://services.gradle.org/distributions/gradle-7.0.2-bin.zip
关注公众号:BennuCTech,获取更多干货!
以上是关于解决No version of NDK matched the requested version问题的主要内容,如果未能解决你的问题,请参考以下文章
Android studio :No version of NDK matched the requested version
No version of NDK matched the requested version 20.0.5594570. Versions available locally: 22.1.71716
INSTALL_FAILED_NO_MATCHING_ABIS错误解决
解决java compiler level does not match the version of the installed java project facet
Java compiler level does not match the version of the installed Java project facet.解决方法
maven -- 问题解决Java compiler level does not match the version of the installed Java project facet(示