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


当前回答

我在as fox或4 in X中发现了这个问题。 在操作系统根目录下,打开并隐藏Gradle文件夹

add file gradle.properties
add code 
ndk.dir=/Users/your os name/Library/Android/sdk/ndk

做~

其他回答

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

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

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

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

这不是必要的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从android studio和工具>sdk管理器>sdk工具,然后下载NDk版本和

比你当地的好。属性设置NDK路径 是这样的:

ndk.dir = /用户/ {yourUserName} /图书馆/ Android / sdk / ndk / 21.4.7075529

为了解决这个问题,你必须在build.gradle中向IDE指示NDK的版本。在本例中,它应该是版本21.0.6113669。例如:

defaultConfig {
    // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
    applicationId "com.example.remed_mobile"
    minSdkVersion 16
    targetSdkVersion 28
    ndkVersion '21.1.6352462'
    versionCode flutterVersionCode.toInteger()
    versionName flutterVersionName
}

如果您没有指明您的版本号,那么IDE将接受一个默认版本。如果你升级了gradle,那么它可能找不到正确的版本。

这对我很管用

编辑本地。属性文件来添加此内容

ndk.dir=/xxxxx/Android/sdk/ndk-bundle