Antecedentes de la demanda:
En el desarrollo diario, a menudo usamos gradle para la construcción de proyectos. Hay dos módulos en un proyecto de aplicación, donde A es un módulo de aplicación y B es un módulo de biblioteca. El colega A compila y depende de B, y ambos tienen versiones de depuración y lanzamiento. Me gustaría preguntar: si se realiza la unificación de A y la versión compilada, es decir, compilar la versión de depuración de A también compila la versión de depuración de B, y compilar la versión de lanzamiento de A también compila la versión de lanzamiento de B.
El diagrama del efecto de realización es el siguiente:
Implementación:
1. Agregue todas las bibliotecas dependientes a build.gradle
android {
publishNonDefault true //表示该Module不使用默认配置
}
En la figura anterior, la aplicación depende de 3, luego agregue esta oración en el build.gradle de los 3 módulos.
2. En build.gradle del módulo de la aplicación, agregue todas sus bibliotecas dependientes de la siguiente manera:
dependencies {
releaseCompile project(path: ':library', configuration: 'release')
debugCompile project(path: ':library', configuration: 'debug')
}
De acuerdo con el ejemplo de la figura anterior, agregue en el módulo de aplicación
dependencies {
releaseCompile project(path: ':lib-zxing', configuration: 'release')
debugCompile project(path: ':lib-zxing', configuration: 'debug')
releaseCompile project(path: ':supertoasts', configuration: 'release')
debugCompile project(path: ':supertoasts', configuration: 'debug')
releaseCompile project(path: ':material-calendarview-library', configuration: 'release')
debugCompile project(path: ':material-calendarview-library', configuration: 'debug')
}
3. Reconstruya gradle para lograr los requisitos anteriores.