为什么当前版本的Gradle插件不支持按需配置?

9

当使用Gradle版本4.6或以上版本时,Android Gradle插件的3.1.2版不支持按需配置。

当处理有许多模块的多模块Android项目时,gradle Configuration on demand非常有用,可以避免不必要的配置。

我找不到官方发布说明/文档来解释为什么最新的Android插件不支持按需配置。是否有人更好地理解为什么它不起作用,以及未来的计划是什么?(例如,这只是一个暂时的错误吗?)是否有关于此更改的官方文档?


配置按需(Configuration on Demand)在当前版本的Android Gradle插件中不受支持。 - Toris
3个回答

6

首先从gradle.properties中删除org.gradle.configureondemand。

然后在Android Studio中,对于Mac,请进入“Preferences > Build, Execution, Deployment > Compiler”,取消选择配置按需。对于Linux/Windows,请进入“File > Settings > Build, Execution, Deployment > Compiler”,取消选择配置按需。

请注意,有两个gradle.properties文件

一个是在您的项目中的gradle.properties,另一个位于~/.gradle/gragle.properties


3
谢谢您的评论。然而,它与我的问题无关。我知道如何禁用它。问题不在于禁用此选项,而是更好地了解未来是否会支持此选项。在处理具有许多模块的多模块项目时,这是一项重要的优化措施,并且自从我禁用它以来,构建时间略有恶化。 - alessandro candolini

4
"配置按需已被“移除”的原因是为了避免不可预测的构建错误。但您仍然可以使用Gradle 4.4。请参见关于Android Studio已知问题

使用Gradle 4.6的配置按需:如果您正在使用Android Plugin for Gradle 3.0.1或3.1.0与Gradle 4.6,则应在gradle.properties文件中禁用配置按需,如下所示,以避免某些不可预测的构建错误。这个问题将在未来版本的插件中得到解决。

org.gradle.configureondemand=false

"

NB:使用Gradle 4.6或更高版本的Android Plugin for Gradle 3.1.1或更低版本不会显示“Configuration on demand is not supported”错误(我尝试了3.0.1、3.1.0和3.1.1),所以它似乎取决于插件版本,而不是gradle版本。 - Toris
谢谢您的回答,这(尤其是链接 https://developer.android.com/studio/known-issues)回答了我的问题:看起来这是一个漏洞,应该在一些较新的插件版本中得到修复(手指交叉)。 - alessandro candolini

0

前往文件 -> 设置 -> 构建、执行、部署 -> 编译器,然后取消选择按需配置。

注意:我正在使用Android Gradle com.android.tools.build:gradle: 3.1.4和Gradle 4.10.2(在“文件” ->“项目结构” ->“项目”中查看)。


谢谢你的回答。但它并没有回答我的问题。我知道如何禁用它,无论是从gradle(说实话,我现在根本不使用android studio)还是从intellij/AS。问题不在于禁用此选项,而在于更好地了解这个选项是否将来会再次得到支持。我想要能够检查(而不是取消选择)此选项,在运行多模块项目时这是一个重要的优化(我的android项目有50多个不同的模块),而android gradle插件正在破坏对按需配置的支持。 - alessandro candolini

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