Android的工作室:如何删除/过滤构建变种默认调试和发布构建类型,并只保留那些使用自定义构建类型?



Answers

Question

我已经创建了自定义的buildTypes,如下所示:

 buildTypes {
        releasefree.initWith(buildTypes.release)
        releasefree {
            minifyEnabled true
            shrinkResources true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
        releasepro.initWith(buildTypes.release)
        releasepro {
            minifyEnabled true
            shrinkResources true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            applicationIdSuffix ".pro"
        }
        debugfree.initWith(buildTypes.debug)
        debugfree {
            shrinkResources true
            applicationIdSuffix ".debug"
            debuggable true
        }
        debugpro.initWith(buildTypes.debug)
        debugpro {
            shrinkResources true
            applicationIdSuffix ".pro.debug"
            debuggable true
        }
    }

我不打算使用默认的调试和发布构建类型,并希望从构建变体列表中删除它们。 我有不止一些口味,而且变体的列表太庞大了。 使用默认的调试版本和发布版本删除变体将有所帮助,因为我永远不会使用它们。

我尝试使用变种过滤器如下,但它没有工作

android.variantFilter { variant ->
    if(variant.buildType.name.endsWith('Release') || variant.buildType.name.endsWith('Debug')) {
        variant.setIgnore(true);
    }
}

在筛选变体的方式中是否有错误,或者是否无法使用默认的调试和发布构建类型来删除变体?