当前版本的 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 插件不支持按需配置