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


当前回答

在build.gradle(app)中添加这一行

android {

ndkVersion 21 6113669 0。”

}

这样问题就解决了

https://github.com/gradle/gradle/issues/12440#issuecomment-606188282

其他回答

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

android {
        **ndkVersion** "version number of you 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

如果你很难找到一个确切的NDK版本,你可以从这里下载它,这是我的情况下,我的IDE需要版本21.1.6352462,而这个版本不再存在于官方网站(https://developer.android.com/ndk/downloads)

所有Android NDK原生开发工具包的API,版本和操作系统

我无法安装指定的版本(来自android工作室的一个奇怪的错误,它可能与硅芯片有关),所以我在我的构建中指定了一个更新版本的ndk。Gradle和一切都很好。

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

cd ~/Library/Android/sdk
ls

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

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

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