在更新到Android Gradle插件3.6.0(2020年2月24日发布)后,几个独立的项目开始失败:

No version of NDK matched the requested version 20.0.5594570. Versions available locally: 21.0.6113669

通过安装旧的期望的ndk版本来在本地“修复”这个问题非常简单:

sdkmanager 'ndk;20.0.5594570'

然而,我的问题是:在哪里以及如何指定这个旧版本?如何更新它以匹配最新版本21.0.6113669?


当前回答

我也有同样的问题。我通过SDK工具下的SDK管理器解决了这个问题,单击显示包详细信息,然后在NDK下滚动(并排),勾选并应用您需要的版本。见下图:

我的问题是,为什么我们现在需要这个不需要NDK的项目?事实证明,NDK在我工作的项目中是一个已经存在的需求!

其他回答

在构建中将类路径版本更改为3.5.0。Gradle,项目级别。

dependencies {
        classpath 'com.android.tools.build:gradle:3.5.0'
}

我也有同样的问题,但已经解决了。

没有与请求版本20.0.5594570匹配的NDK版本

我得到了答案

1====>如果没有,请先下载NDK

2====>重命名您的NDK作为您的项目需要(像这里我需要20.0.5594570)

3====>之后,在android文件夹中打开gradle。属性文件

这里你把你的NDK位置像这样

然后做react-native run-android…就是这样

NDK问题已解决

谢谢你!

这适用于MacOS,通过终端检查:

cd ~/Library/Android/sdk
ls

如果你看到“ndk”和/或“ndk-bundle”,删除它们:

sudo rm -r ndk/
sudo rm -r ndk-bundle/

删除这些文件夹后,一切都恢复正常了。 这是从GitHub复制的

这不是必要的Android gradle插件> 4.1.0(也见https://issuetracker.google.com/issues/144111441)

对于< 4.1.0,我也遇到了这种情况

没有与请求版本20.0.5594570匹配的NDK版本。版本 本地可用:21.0.6113669

选项1:

你可以简单地在项目结构对话框中选择你本地安装的NDK !

但只对本地构建有效,我需要一个解决方案的CI

选项2:

只有在每个使用的模块中指定它时,它才有效

android {
    compileSdkVersion 28
    ndkVersion "21.0.6113669"
    ...
}

这里似乎不工作https://github.com/hannesa2/panoramagl/pull/17/checks与这个改变https://github.com/hannesa2/panoramagl/pull/17/files#diff-cff4e8c294a5dc5e76308662ae1ddcacR6-R7

选项3:

export ANDROID_NDK_HOME=/Users/{my-user}/Development/adt/sdk/ndk/21.0.6113669

也同样有效!

转到应用程序的构建。gradle文件;

在android{}中添加可用的NDK版本,这显示在您发布的错误信息中。在本例中,您的版本是“21.0.6113669”

No version of NDK matched the requested version 20.0.5594570. Versions available locally: 21.0.6113669

安卓 { ndk版本“21.0.6113669” }