gradle Android -如何不使用特定风格的依赖项?

8qgya5xd  于 2023-01-31  发布在  Android
关注(0)|答案(1)|浏览(136)

例如,有一个依赖项ZZZ,以及6种风格flavor1flavor2、...、flavor6
如果只想让flavor1添加依赖项,我可以使用以下命令:

dependencies {
    flavor1Implementation `ZZZ`
}

但是如果我希望除flavor1之外的所有风格都添加此依赖项,如下所示:

dependencies {
    flavor2Implementation `ZZZ`
    flavor3Implementation `ZZZ`
    flavor4Implementation `ZZZ`
    flavor5Implementation `ZZZ`
    flavor6Implementation `ZZZ`
}

当我有很多口味的时候真是一场灾难...
有没有更好的办法?

t5zmwmid

t5zmwmid1#

一个选项是使用variantFilter,例如:

android {
    productFlavors {
       flavor1 { 

       }
       flavor2 {

       }
       flavor3 {

       }
       ...
    }

    variantFilter { variant ->
        if (!variant.flavors.name.contains("flavor1")) {
            var nameVariant = variant.flavors.name[0]
            getDependencies().add("${nameVariant}Implementation", "ZZZ")
        }
     }
}

使用variantFilter,您可以遍历buildTypesproductFlavors之间的每个组合,从而避免在flavor1上添加依赖项以及在所有其他组合中以编程方式添加所需的依赖项。
希望这能帮上忙

相关问题