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

Posted

技术标签:

【中文标题】当前版本的 Android Gradle 插件不支持按需配置【英文标题】:Configuration on demand is not supported by the current version of the Android Gradle plugin 【发布时间】:2018-10-04 01:56:06 【问题描述】:

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

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

我尝试按照建议进行操作,但这并没有解决问题。有任何想法吗?非常感谢所有帮助,谢谢。

【问题讨论】:

【参考方案1】:

无需降级!

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

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

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

注意,有 2 个gradle.properties 文件

    在您的项目中gradle.properties $HOME/.gradle/gradle.properties

【讨论】:

在升级 android studio 和 gradle 之后,这已经奏效了。设置这个 org.gradle.configureondemand=false 不起作用。 不明白为什么 Google 没有在 AS 3.1.2 中默认禁用该选项,因为他们不支持它,而不是阻止所有开发人员。 问题是全局 gradle.properties。在本地,我试图覆盖 org.gradle.configureondemand=false 但不知何故它不起作用。编辑全局 ~/.gradle/gradle.properties 后就可以了!!! @BozicNebojsa,您的评论值得作为答案发布。谢谢。 @BozicNebojsa 对,这是默认行为。正如doc 所说:配置按以下顺序应用(如果在多个位置配置选项最后一个获胜): - 项目根目录中的 gradle.properties。 - GRADLE_USER_HOME 目录中的 gradle.properties。 - 系统属性,例如when 在命令行中设置。【参考方案2】:

在 Android Studio 中,只需转到 File -> Settings -> Build, Execution, Deployment -> Compiler 并单击以取消选中 按需配置选项,然后单击好的,然后再次将项目与 gradle 文件同步

【讨论】:

【参考方案3】:

更新到 AS 3.1.2 后出现同样的错误。 您仍然可以使用 Gradle 4.6 版,但将 Android gradle 插件降级到 3.1.1

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

【讨论】:

也许你应该降级插件 gradle 版本或使用 AS 的 gradle 默认值 也许 Google 不应该发布损坏的工具。 嗨,根本不需要降级任何东西。请看here【参考方案4】:

即使在Documentation 中,Android studio 中也已经存在已知错误,他们已经提到了这个问题。

目前最简单的方法是禁用此功能

    通过单击文件 > 设置(在 Mac 上,Android Studio > 首选项)打开首选项窗口。 在左侧窗格中,单击构建、执行、部署 > 编译器。 取消选中按需配置复选框。 单击应用或确定。

查看此图片,了解他们为特定 Gradle 插件版本提供的警告。

【讨论】:

【参考方案5】:

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

【讨论】:

我更喜欢这个选项,因为它不需要其他开发人员更改他们的 IDE 设置来构建您的项目。【参考方案6】:

从 Android Studio 取消选中按需配置

按照以下步骤操作:

    对于 Mac,转到首选项 > 构建、执行、部署 > 编译器并取消选中按需配置。

    对于 Linux/Windows 转到文件 > 设置 > 构建、执行、部署 > 编译器并取消选中按需配置。

现在同步您的项目

编码愉快! :)

【讨论】:

【参考方案7】:

@wookupmaker 的答案是正确的。但是,如果它仍然不起作用,问题可能是 global gradle.properties。

即使我试图覆盖

org.gradle.configureondemand=false

在我的本地(项目特定)gradle.properties 中,不知何故它不起作用。

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

【讨论】:

【参考方案8】:

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

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

【讨论】:

这看起来很有趣,但有两个缺点:已经有可用的 beta 版本(换句话说,版本必须更频繁地更改更多)以及谁想要使用未发布的依赖项?但是一旦稳定了,这就是最好的了。【参考方案9】:

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

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

【讨论】:

【参考方案10】:

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

文件 -> 使缓存无效/重新启动...

与许多其他情况一样,这有助于使 Gradle 同步和项目构建再次正常工作。我正在使用 gradle-4.6-all 和 Gradle 插件 com.android.tools.build:gradle:3.1.3

【讨论】:

【参考方案11】:

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

【讨论】:

【参考方案12】:

gradle/wrapper/gradle-wrapper.properties

更新 gradle 版本

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

构建 > 重建项目

祝你好运

Source

【讨论】:

以上是关于当前版本的 Android Gradle 插件不支持按需配置的主要内容,如果未能解决你的问题,请参考以下文章

如何在android studio中查看当前使用的gradle版本和gradle插件版本

如何在android studio中查看当前使用的gradle版本和gradle插件版本

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

gradle插件升级到7.0.0出现的问题

Android Studio Gradle插件版本与Gradle 版本对应关系

Android Studio gradle插件版本和gradle版本对应