从产品构建中排除特定的子模块

时间:2019-07-25 10:20:30

标签: android android-productflavors

好的,所以我有不同的产品口味,并且有不同的子模块。有权实施子模块,我这样做:

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation project(path: ':A-Android')
    implementation project(path: ':B-Android')
    implementation project(path: ':C-Android')
}

是否可以仅针对特定产品口味实现子模块:A-Android?怎么样?

1 个答案:

答案 0 :(得分:1)

是的,只能配置特定风味的依赖项。这里是Declare dependencies文档的摘录:

  

声明依赖项

     

您可以为特定的构建变体配置依赖项,或者   testing source set前面加上构建变体的名称,或   测试源设置在Implementation关键字之前,如   以下示例。

dependencies {
    // Adds the local "mylibrary" module as a dependency to the "free" flavor.
    freeImplementation project(":mylibrary")

    // Adds a remote binary dependency only for local tests.
    testImplementation 'junit:junit:4.12'

    // Adds a remote binary dependency only for the instrumented test APK.
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}
     

有关更多信息,请参见Add build dependencies

因此,如果您有两种口味,例如productiondevelopment口味,则可以添加以下依赖项:

dependencies {
    productionImplementation project(path: ':A-Android')
    DevelopmentImplementation project(path: ':B-Android')

    ..
}