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

标签 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使用多项目构建:为comp1添加includeFlat到
的comp2 settings.gradle?我不确定这是要走的路。

有没有更好的方法来进行设置?

最佳答案

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

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

关于gradle - Gradle:构建使用相同组件的多个应用程序(多项目构建),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57375006/

相关文章:

Android Studio Gradle 产品 flavor

docker - 使用 Postgresql 数据库在 docker 容器中运行简单的 Kotlin Ktor 应用程序

gradle - Android studio 1.0 Gradle错误1-找不到指定的路径

java - 如何使用Gradle将文件从父项目复制到子项目

android - 使用 android studio 项目在命令行上使用 Gradle 构建失败 : Xlint error

gradle - 创建新项目时未显示 IntelliJ Gradle 项目选项

testing - 过滤 junit 测试套件时未找到测试

gradle - React Native assembleRelease app::bundleReleaseJsAndAssets 永远不会进步

android - gradle依赖中的compile,testCompile和provided有什么区别

gradle - DRY,是否有更好的gradle依赖声明?