Método de implementación unificado de versiones compiladas del Módulo de aplicación de Android y el Módulo de biblioteca

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:
Al compilar la versión de depuración de A también se compila la versión de depuración de B

La compilación de la versión de lanzamiento de A también compila la versión de lanzamiento de B

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.

Supongo que te gusta

Origin blog.csdn.net/lrxb_123/article/details/78031673
Recomendado
Clasificación