如何在Android Gradle中消除默认的构建变体

3
我们的项目中已经有不同的构建变体(dev、qa等),使默认变体变得无关紧要和令人困惑。
有没有办法完全删除默认的构建变体,即debugrelease?它们已经生成了编译器错误,这些错误将不再得到修复,因为它们将不再被支持。我希望它们完全从存在中删除。
如果这不可能,我希望使大多数依赖于它们的任务过时,就像assembleDebugcompileDebugSourcesinstallDebugtestDebugUnitTest等一样。
覆盖一些任务并生成友好的错误信息是可以的,但我担心我最终会覆盖很多任务。

为什么不直接使用调试(debug)和发布(release)而不是你自定义的两个变体名称呢?看起来你把事情搞得比必要的还要复杂。 - undefined
它们被滥用了很久,用于与它们的名称无关的事情,让人感到困惑。废弃技术性的东西比修复人们的期望要容易得多。 - undefined
1个回答

4
将以下内容添加到build.gradle文件中可以使大部分甚至所有对debug变体任务的引用消失。
android.variantFilter { variant ->
    if(variant.buildType.name.equals('debug') ) {
        variant.setIgnore(true);
    }
}

有趣的是,如果您有基于调试的另一个变体,它仍然可以工作。例如,如果您使用以下定义运行QA变体,则仍然可以运行:

buildTypes {
    qa {
        initWith debug
        . . .

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接