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 …
- Límite de 64 k superado en las API más antiguas que Lollipop, pero no más reciente
- Cómo depurar el módulo de la biblioteca android en Android Studio?
- BuildConfigField VS campo de clase? Recurso resValue VS
- Cómo publicar un archivo aar a Apache Archiva con Gradle
- ¿Cómo crear diferentes variantes de construcción apuntando a diferentes servidores?
┌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?
- AndroidAnnotations Nada generado, actividad vacía
- ¿Cómo importar biblioteca remota en Android Studio usando gradle?
- Servicios de Google Play en un proyecto de Android Studio 0.1.1 gradle?
- Referencia sin resolver: kotlinx - Kotlin 1-0-0-rc-1036
- Android Studio - Problema en build.gradle uncaught error de traducción ExecutionException OutOfMemory
- ¿Cómo publicar las fuentes .aar de Android para que Android Studio las encuentre automáticamente?
- Android Studio - ProGuard "java.io.IOException ... bin \ classes (Ningún archivo o directorio)"
- Android Studio 2.1.3 - Problema de DefaultSourceDirectorySet
- Pixate Freestyle alternativas de la biblioteca?
- ¿Mis avisos de tarjeta de crédito no siempre descartan cuando se pasa a la izquierda oa la derecha?