La configuración de productFlavors en el submódulo de Android

A continuación se muestra el artículo, el _android, _test, _googlerepresenta Sabores, debugy releaserepresentan buildTypes, explican con antelación, de acuerdo a sus propias necesidades del proyecto pueden ser diferentes.

¿Cómo configurar los sabores de los submódulos en varios módulos? De hecho, no hay necesidad de ninguna configuración especial, solo necesita que el submódulo mantenga los mismos sabores que el módulo principal, y luego consúltelo de la siguiente manera. Cabe señalar que los dos deben ser consistentes, y solo los submódulos son más que los Flavors del módulo principal, pero no menos, o ningún Flavors en absoluto.

    implementation project(path: ':lib')

En particular, una cosa que debe señalarse es que busqué algunos artículos domésticos antes y obtuve un resultado incorrecto:

   _testReleaseImplementation project(path: ':lib', configuration:'_testRelease')
   _testDebugImplementation project(path: ':lib', configuration:'_testRelease')
   _androidReleaseImplementation project(path: ':lib', configuration:'_androidRelease')
   _androidDebugImplementation project(path: ':lib', configuration:'_androidRelease')

Sin embargo, este método se ha eliminado en versiones anteriores a gradle3.0. Aunque la sintaxis de gradle todavía admite este formulario, esta función ya no es compatible. Descripción del sitio web oficial

Al mismo tiempo, si el módulo principal y otro submódulo hacen referencia a un submódulo con Flavors al mismo tiempo, aún debe agregar los Flavors correspondientes en el submódulo. Si realmente no necesita agregarlo , debes agregarlo. Consulta las instrucciones :

android {
    ...
    defaultConfig {
        ...
        //"mode"来源于相关引用的flavorDimensions和Flavors
        missingDimensionStrategy "mode",'_android' 
    }
}

Si necesita agregar un paquete que solo se importa bajo ciertos sabores, puede hacer esto:

    //以下代表只在_test时导入picasso包,
    //但是为了避免平时开发时出现的导包错误,添加一个compileOnly只在编译时有该包
    _testRuntimeOnly 'com.squareup.picasso:picasso:2.71828'
    compileOnly 'com.squareup.picasso:picasso:2.71828'

Si necesita agregar paquetes importados con diferentes sabores, puede hacer esto:

    _androidImplementation('com.getui:sdk:2.14.0.0')
    _testImplementation('com.getui:sdk:2.14.0.0') 
    _googleImplementation('com.getui:sdk-for-google-play:4.3.8.0')

Hay un punto que debe explicarse anteriormente _testReleaseImplementationy, _testDebugImplementationaunque este método se admite gramaticalmente, ya no se proporciona el soporte predeterminado. Si lo necesita, debe agregar el siguiente código, siga sus propias necesidades, no lo copie directamente, explique :

configurations {
    _testReleaseImplementation
    _testDebugImplementation
    _androidReleaseImplementation
    _androidReleaseImplementation
}

Adjunte la introducción de un amigo al sabor.

Además, toda la información anterior está sujeta a la información oficial del sitio web .

Supongo que te gusta

Origin blog.csdn.net/Ser_Bad/article/details/105636460
Recomendado
Clasificación