Android Studio – Gradle – Construcción de proyectos múltiples con dependencias anidadas

He hecho esta y esta pregunta hace mucho tiempo, y ahora que tengo el tiempo (no tengo una opción) he trabajado mi camino a través de la configuración de algunos de mis proyectos.

La estructura es similar a la de la pregunta anterior pero con un giro …

┌Just a folder │ ├── Project 1 - (Pure Java Modules) │ │ │ ├── Module A1 │ ├── Module B1 │ : │ └── Module Z1 │ ├── Project 2 - (Android Libraries Modules) │ │ │ ├── Module A2 │ ├── Module B2 │ : │ └── Module Z2 │ └── Actual Android Project 

Que todos los módulos secundarios dependen de la anterior, por ejemplo, Z1 depende de X1 … B1 depende de A1 lo mismo para la serie {X} 2.

Dado que tengo varios proyectos que dependen de las mismas librerías principales (Z2, Z1), me gustaría ahorrar agonía y texto y evitar tanto como sea posible la duplicación de lo siguiente en los proyectos:

En el archivo de configuración:

 include ':project1', ':project1:A1', ':project1:B1',..., ':project1:Z1' include ':project2', ':project2:A2', ':project2:B2',..., ':project2:Z2' project(':project1').projectDir = new File(settingsDir, '../somepath1/project1') project(':project2').projectDir = new File(settingsDir, '../somepath2/project2') project(':project2:A2').projectDir = new File(settingsDir, '../somepath2/project2/A2') ... ... etc... 

En el archivo de compilación:

 evaluationDependsOn(':Project1') evaluationDependsOn(':Project2') dependencies { compile project(':Project1:A1') compile project(':Project1:B1') ... compile project(':Project1:Z1') compile project(':Project2:A2') compile project(':Project2:B2') ... compile project(':Project2:Z2') } 

Tiene sentido (suponiendo que esto sea factible como en Eclipse / Maven / otras dependencias) que si voy a agregar los proyectos de las bibliotecas superiores Z1, Z2 a la aplicación el resto de las dependencias anidadas dentro de la jerarquía de los subproyectos se resolvería sin la necesidad Para especificar literalmente cada uno en cada uno de mis proyectos principales.

¿Esto es posible con Gradle? ¿Cómo podría abordar esto con Gradle?

  • ¿Cuál es el alcance de dependencia por defecto en Gradle en Android?
  • Error: Gradle: Error de ejecución para la tarea ': app: compileDebugJava'
  • Error: Error de ejecución para la tarea ': app: prepareDebugAndroidTestDependencies'. > Error de dependencia. Ver la consola para más detalles
  • Falta dependencias de la biblioteca de Android de POM con Gradle
  • Configuración de Proguard para Android Support v4 22.2.0
  • Gradle buildConfigField BuildConfig no puede resolver el símbolo
  • Roboeléctrico y Android Studio
  • Recursos de la biblioteca gradle de Android en el sabor del producto
  • Gradle: ¿Cómo ejecutar una tarea personalizada después de que se construye una Biblioteca de Android?
  • Tarea Gradle personalizada para guardar Json analizado en el archivo. Androide
  • Encuentro dos androide gradle plugin - ¿Hay alguna relación entre los dos?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.