最低支持的Gradle版本为6.1.1,当前版本为5.6.4。

83

我在将 Android Studio 升级到 4.0 版本后遇到了这个问题,而我使用的是较旧的 gradle 版本:

(附有截图)

之后,我下载了最新的 gradle 版本6.4.1,但在下载完成后它报错:

Unable to find method 
 'org.gradle.api.tasks.TaskInputs.property(Ljava/lang/String;Ljava/lang/Object;)Lorg/gradle/api/tasks/TaskInputs;'.
Possible causes for this unexpected error include:
Gradle's dependency cache may be corrupt (this sometimes occurs after a network connection timeout.)
Re-download dependencies and sync project (requires network)

The state of a Gradle build process (daemon) may be corrupt. Stopping all Gradle daemons may solve this problem.
Stop Gradle build processes (requires restart)

Your project may be using a third-party plugin which is not compatible with the other plugins in the project or the version of Gradle requested by the project.

In the case of corrupt Gradle processes, you can also try closing the IDE and then killing all Java processes.

这是错误的图片:

错误截图

我已经尝试了清除缓存/重启清理项目重新构建项目,并删除了缓存文件夹,但仍然面临相同的问题, 现在我无法使用较低版本的 gradel。


我的猜测是你正在使用不支持Gradle 6的第三方插件。你在使用哪些插件?你也可以尝试在命令行上使用“-S”选项运行构建,以打印出堆栈跟踪 - 也许它会指示哪个插件有问题。 - Bjørn Vester
已经卸载/更新了所有显示不兼容错误的插件。 - Aqib
请按照要求添加堆栈跟踪。您可以通过在命令行中传递“-s”来获取它。 - Louis Jacomet
请查看此链接 https://stackoverflow.com/a/73034758/5040556 - Daniele
17个回答

131

我遇到了这个错误。因此我添加了以下行到build.gradle(project)文件的dependency部分:

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

我还将gradle-wrapper.properties文件中的distributionUrl更改为:

https\://services.gradle.org/distributions/gradle-5.6.4-all.zip

它解决了我的问题,我希望也能解决你的问题。


更新于2020年9月21日

最终,我升级了所有插件和库,并在Gradle项目中使用了gradle-6.6.1-all.zip文件中的gradle-wrapper.propertiesdependencies部分中的classpath 'com.android.tools.build:gradle:4.0.1',现在它运行得非常完美。

如果您使用greenDAOsqlcipher,请小心正确升级。


1
我认为你正在降级gradle版本。这不是永久解决方案。 - Maniraj
3
@Maniraj,是的,这完全正确,但是两个月过去了,没有人对这个问题做出其他答复。| - Anice Jahanjoo
你解决了这个问题吗?因为我真的需要使用最新版本,而在我的情况下降级不是一个选项。 - Maniraj
2
"gradle_wrapper.properties" 已更名为 "gradle-wrapper.properties"。 - I Want Answers
1
很棒的更新 :) - mikegross
显示剩余2条评论

15

建议使用Android Studio升级gradle,但我遇到了类似的错误。我使用Ctrl+Shift+F快速查找到字符串“5.6.4”,发现有2个文件引用了gradle版本5.6.4,将它们都更新为6.1.1后问题就得到了解决。


12

我刚刚遇到了这个问题,并找到了解决方法。

1) 找到 gradle/wrapper/gradle-wrapper.properties 文件(不在 .gradle 文件夹中,而是在 gradle 文件夹中)。如果你的项目没有 gradle-wrapper.properties 文件,在那个位置创建它即可。

将以下内容添加到你的 gradle-wrapper.properties 文件中。

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-all.zip

记住!

您需要更改Android Studio中gradle版本的distributionUrl(在本例中为gradle-5.6.4-all.zip)


10

尝试编辑 ..\android\gradle\wrapper\gradle-wrapper.properties 文件中的 distributionUrlgradle-6.5-all.zip

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-all.zip

是的,起初似乎有一些错误/问题,但现在已经修复并正常工作了,谢谢回答。 - Aqib

7
对我而言,似乎我已将插件版本升级为“classpath 'com.android.tools.build:gradle:4.1.2'”,但出于某种原因,我无法使Android Studio从6.1.1更新到6.5。最终,根据https://developer.android.com/studio/releases/gradle-plugin的说明,我将插件降级至“classpath 'com.android.tools.build:gradle:4.0.0'”。然后,IDE提供了一个快速修复选项,使我可以升级回4.1.2和6.5,并且之后它又开始正常工作了。

5

我也遇到过这个问题很多次,但是我通过将gradle-wrapper.properties文件中的distributionUrl更改为https\://services.gradle.org/distributions/gradle-5.6.4-all.zip或更高版本来解决。希望通过添加这个,错误会得到解决。


4

升级 Gradle 版本

Failed to apply plugin [id 'com.android.internal.version-check']
   > Minimum supported Gradle version is 6.7.1. Current version is 6.1.1. If using the gradle wrapper, try editing the distributionUrl in G:\Home\androidproject\pactices\appsghor\exoplayer\gradle\wrapper\gradle-wrapper.properties to gradle-6.7.1-all.zip

in wrapper.properties
distributionUrl = https\://services.gradle.org/distributions/gradle-6.7.1-all.zip

4
对于我的情况,我找不到正在尝试与gradle同步的项目中的Gradle文件夹,所以我复制了整个Gradle文件夹(对于找不到 gradle-wrapper.properties 的人来说,可以从一个新的Android项目中复制。它就在里面)。将其复制到您在Gradle同步方面遇到问题的项目中,在我的情况下可以运行。
链接:enter image description here

3
在Android Studio中的“文件->项目结构->项目”菜单或通过编辑gradle/wrapper/gradle-wrapper.properties文件中的Gradle发行版引用来查找Gradle版本。以下示例在gradle-wrapper.properties文件中将Gradle版本设置为6.7.1。
从下面查找正确的版本: https://developer.android.com/studio/releases/gradle-plugin

2
对我来说,这需要一个多阶段的修复过程,结合上述几种方法。我拉取了一个不包含gradle目录的项目,因此其他答案都不适用。
为了创建gradle目录,我首先编辑了build.gradle文件,并将classpath降级以匹配https://developer.android.com/studio/releases/gradle-plugin中的版本。原始问题中,错误显示当前版本为5.6.4,因此该表格表明我们应将构建工具降级到3.6.0。
classpath 'com.android.tools.build:gradle:3.6.0'

然后我执行了 sync project with gradle files 并构建了项目。由于下载的gradle版本与请求的版本匹配,所以成功了。这将创建gradle目录,包括gradle-wrapper.properties文件。

接下来,我按照其他回复中描述的方式编辑了gradle-wrapper.properties文件,将其更新为6.1.1版本。

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

我又用gradle文件进行了同步项目和构建。一切正常,所以我随后更新了我的build.gradle文件以恢复原始值。

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

然后我进行了第三次使用Gradle文件同步项目并构建。现在我的项目完全没有错误,正处于应该在的状态。


这是这种问题的完美解决方案。 - Nabeel Ahmed

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接