对于多维口味,如何禁用某些组合?

Mar*_*ark 4 android android-gradle-plugin android-productflavors

我的 Android 项目有两个风味维度,但某些变体(某些维度组合)没有意义,因此我想禁用/忽略它们。

此外,对于某些变体,我不希望同时使用调试和发布构建类型(一种就足够了,因为这些变体仅供内部使用)。

如何实现这两者呢?

Mar*_*ark 5

像下面这样使用variantFilter。在这里,我们想要禁用调试构建类型的某种风味组合的变体:

android {
    ...
    android.variantFilter { variant ->
        def name1 = variant.getFlavors().get(0).name
        def name2 = variant.getFlavors().get(1).name
        def isDebug = variant.buildType.name.equals('debug')
        if (name1.equals('ignoredName1') && name2.equals('ignoredName2') && isDebug)
            variant.setIgnore(true);
        }
    }
    ...
}
Run Code Online (Sandbox Code Playgroud)