转载请注明出处:http://blog.csdn.net/lastsweetop/article/details/78905882
简介
复合构建是一个包含了其他构建的构建,很多时候和多项目构建非常相似,但是它包含的不是完整的项目,而是完整的构建。组合构建可以做到以下两点:
- 和比较独立的开发进行组合构建,比如修复一个项目中引用的lib库
- 把非常大的工程切成几个小块,各个小块直接是可以独立工作的
复合构建比多项目构建中的小项目更具备独立性,复合构建中的构建可以被称为“被包含的构建”,被包含的构建和复合构建或者其他被包含的构建之间不会共享任何配置信息,每个被包含的构建都会独立的配置和执行。
被包含构建和其他构建之间通过dependency substitution
来关联,如果被包含的构建和其他构建之间满足依赖关系,那么他们之间的依赖将被替换为工程依赖。默认情况下,Gradle会去替换被包含构建需要满足的依赖关系,但是有时候默认值不一定正确,那就需要显示的指明替换。除了通过替换为项目依赖来解决这种情况外,复合构建还可以直接定义依赖于被包含构建的任务,但是被包含构建是无法这样做的。