在更新到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?


当前回答

在上一个版本的Gradle中,不需要在构建中定义NDK versión。成绩:

android {
    ...
    ndkVersion "21.0.6352462"
    ...
}

我们必须安装建议的versión

或者在Android NDK Location中定义当前可用的版本:

其他回答

打开模块的构建。Gradle文件和编辑:

android {
        **ndkVersion** "version number of you NDK"
    }

我也得到了下面的错误

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

我刚刚添加了我的本地NDK版本的应用程序级别构建。Gradle文件已解决。

    android {
        ndkVersion "My Available version here"  (my case it 21.3.6113669)
    }

flutter clean 
flutter pub get

这不是必要的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

也同样有效!

[我的错误:请求的ndk版本22.0.7026061与ndk.dir请求的版本20.0.5594570不匹配]

我的解决方案:在不同的地方似乎有不同的ndk版本

请查看以下相同的详细信息:请转至

项目结构=> SDK位置=> NDK位置(确保检查一个正确的NDK版本)

2)项目结构=>模块= NDK版本下的>(检查您在第一步中添加的相同版本) 步骤2的PFA图像

3)Gotoyour Android studio project=> go to local。属性文件=>检查NDK版本号

如果所有3个步骤都是正确的,并且当前有一个正确的NDK版本,那么你的错误就解决了。

注意:一定要同步项目文件,清理项目,重建项目。

希望这能解决你的问题!!编码快乐:)

在项目级别build.gradle中替换gradle类路径

   classpath 'com.android.tools.build:gradle:4.1.0'

在gradle-wrapper。属性添加这一行

distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-all.zip