Gradle:构建使用相同组件的多个应用程序(多项目构建)

时间:2019-08-06 11:28:20

标签: gradle

我有不同的组件(比如说comp1..compN),其中一些依赖于 其他。我想构建使用这些应用程序的不同应用程序(app1..appN) 组件。在这种情况下,设置gradle项目的好方法是什么?

目前,我有一个扁平的结构,例如:

dir
  app1
  app2
  appN
  comp1
  comp2
  comp3
  compN

比方说app1使用comp1和2。我在app1的settings.gradle中为comp1和2添加了“ includeFlat”。自comp2起 取决于comp1,我将此依赖项添加到comp2的build.gradle中。

现在我是 能够构建app1。不幸的是我无法从中构建comp2 目录comp2,因为它无法解析对comp1的依赖关系(但我可以 使用gradle :comp2:build从目录app1中构建它。

(我应该对comp2使用多项目构建:将compF添加到includeFlat到 的comp2 settings.gradle?我不确定这是要走的路。)

是否有更好的方法进行设置?

1 个答案:

答案 0 :(得分:0)

这是常规的多项目构建。只需在根目录中创建一个settings.gradle文件,并包含(而不是includeFlat)每个项目,无论它是应用程序项目还是组件项目。然后在相应的build.gradle文件中定义项目之间的依赖关系。

在命令行中从哪个目录调用gradle都没有关系。如果您只想构建一个项目(例如gradle :app1:build),则只需使用任务路径。一旦开始使用推荐的Gradle包装器(gradlew),您就需要从根目录中调用它。