Android Studio Gradle中的“按需配置”究竟是什么?

dzjeubhm  于 2022-12-30  发布在  Android
关注(0)|答案(1)|浏览(227)

我最近更改了Gradle中的一些设置,以加快其进程,其中一项更改如下:gradle.properties文件中的org.gradle.configureondemand=true属性。
我知道您可以从“按需配置”这几个字中猜出很多东西,但我想知道这个特性的确切影响?如果我将这个参数设置为true,我是否必须做一些事情来触发配置?
如果我将其设置为true,是否会出错?
配置阶段到底是什么?

lb3vh1jj

lb3vh1jj1#

此设置仅与多个模块项目相关。基本上,它告诉Gradle仅配置与请求的任务相关的模块,而不是配置所有模块,这是默认行为。
为了更准确地回答您的问题:

  • 不,您不必手动触发配置。
  • 是的,正如文档中所述,可能会出现一些错误。该特性对于具有解耦项目的多项目构建应该工作得很好。

在“按需配置”模式下,项目配置如下:

  • 根项目总是被配置的。这样就支持了典型的公共配置(所有项目或子项目脚本块)。
  • 此外,还将配置执行构建的目录中的项目,但仅当Gradle在不执行任何任务的情况下执行时才进行配置。这样,在按需配置项目时,默认任务将正常运行。
  • 支持标准项目依赖项并配置相关项目。如果项目A对项目B具有编译依赖项,则生成A将导致配置这两个项目。
  • 支持通过任务路径声明的任务依赖关系,并导致配置相关项目。示例:某些任务依赖于(:someOtherProject:someOtherTask
  • 从命令行(或工具API)通过任务路径请求的任务会导致配置相关项目。例如,生成projectA:projectB:someTask会导致配置projectB。

以下是完整的文档。

相关问题