当前版本的Android Gradle插件不支持按需配置


311

升级到Android Studio 3.1.2后,出现以下错误:

当前版本的Android Gradle插件不支持按需配置,因为您使用的是Gradle 4.6或更高版本。建议:通过在gradle.properties文件中设置org.gradle.configureondemand = false来禁用按需配置,或者使用低于4.6的Gradle版本。

我尝试遵循该建议,但这不能解决问题。有任何想法吗?非常感谢所有帮助,谢谢。

Answers:


710

无需降级!

禁用按需配置需要两个步骤:

  1. org.gradle.configureondemand从gradle.properties中删除。

  2. 在Android Studio中,
    对于Mac转到Preferences> Build, Execution, Deployment> Compiler,并取消需求的配置。
    对于Linux / Windows的转到File> Settings> Build, Execution, Deployment> Compiler,并取消需求的配置。

注意,有2个gradle.properties文件

  1. 在你的项目中 gradle.properties
  2. ${HOME}/.gradle/gradle.properties

6
升级android studio和gradle后,此方法有效。设置此org.gradle.configureondemand = false无效。
Neri

4
不知道为什么Google在默认情况下未在AS 3.1.2中禁用该选项,因为他们不支持该选项,而不是阻止所有开发人员。
carlo.marinangeli

14
问题是全局gradle.properties。在本地一号中,我尝试覆盖org.gradle.configureondemand = false,但是以某种方式无法正常工作。编辑全局〜/ .gradle / gradle.properties之后,它就可以工作了!!!
Bozic Nebojsa

1
@BozicNebojsa,您的评论应作为答案发布。谢谢。
阿兹比克人

2
@BozicNebojsa对,这是默认行为。如doc所说:配置按以下顺序应用(如果在多个位置配置了一个选项,则最后一个获胜):-项目根目录中的gradle.properties。-GRADLE_USER_HOME目录中的gradle.properties。-系统属性,例如何时在命令行上设置。
文森佐·彼得罗尼奥(Fincenzo Petronio)

47

在Android Studio中,只需转到“ 文件”->“设置”->“构建,执行,部署”->“编译器”,然后单击以取消选中“ 按需配置”选项,然后单击“确定”并再次与gradle文件同步项目


8

更新至AS 3.1.2后,我得到相同的错误。您仍然可以使用Gradle 4.6版,但将Android gradle插件降级为3.1.1

编辑:只是使缓存无效并重新启动


也许您应该降级插件gradle版本或使用AS的gradle default
hahnsaja

8
也许Google不应发布损坏的工具。
AutonomousApps

2
嗨,根本不需要降级任何东西。请在这里

5

即使在Documentation中,它也是Android Studio中已知的错误,他们已经提到了这个问题。

目前最简单的方法是通过以下方式禁用此功能

  1. 通过单击文件>设置(在Mac上为Android Studio>首选项)打开“首选项”窗口。
  2. 在左窗格中,单击生成,执行,部署>编译器。
  3. 取消选中按需配置复选框。
  4. 单击“应用”或“确定”。

检查此图像,以警告他们为特定的Gradle插件版本提供了警告。

在此处输入图片说明


5

其他“解决方案”是使用Android Studio的建议。插件Android Gradle 3.1.3和Gradle版本4.4。

在此处输入图片说明


1
我更喜欢此选项,因为它不需要其他开发人员更改其IDE设置即可构建您的项目。
山姆

5

在Android Studio中,取消选中按需配置

请按照以下步骤操作:

  1. 对于Mac,请转到“偏好设置”>“构建,执行,部署”>“编译器”,然后取消选中“按需配置”。

  2. 对于Linux / Windows,请转到文件>设置>构建,执行,部署>编译器,然后取消选中按需配置。

现在同步您的项目

编码愉快!:)


4

@wookupmaker的答案是正确的。但是,如果仍然无法正常工作,则问题可能出在全局 gradle.properties上。

即使我试图覆盖

org.gradle.configureondemand = false

在我的本地(特定于项目的)gradle.properties中,它以某种方式不起作用。

编辑全局(〜/ .gradle / gradle.properties)后,它按预期工作


4

只需要将Android Gradle插件更新更新为3.2.0-alpha16。

Android Gradle插件更新3.2.0-alpha16而不是3.1.2


这看起来很有趣,但也有两个缺点:目前已经有公测版本(换句话说,该版本将不得不改变很多更多),谁想要使用未发行的依赖?但是一旦稳定,这就是最好的。
KB1000

3

无效的缓存和按需重新启动/禁用配置对我不起作用。唯一帮助我的解决方案是再次从git导入项目。

[UPD]需要将“ com.android.tools.build:gradle”从3.1.2更改为3.1.1


2

在这种情况下,我需要做的就是在Android Studio中使用“核函数”:

文件- >的Invalidate缓存/重新开始......

像在许多其他情况下一样,这有助于使Gradle同步并重新进行项目构建。我正在使用gradle-4.6-all和Gradle插件com.android.tools.build:gradle:3.1.3


1

转到文件->构建,执行,部署->编译器,然后取消选中按需配置

在此处输入图片说明


0

gradle / wrapper / gradle-wrapper.properties

更新gradle版本

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

生成>重建项目

祝好运

资源

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.