如何消除android gradle中的默认构建变体
在我们的项目中,我们已经有了不同的构建变体(dev、qa和其他),这使得默认变体变得不相关和混乱 有没有一种方法可以完全删除默认的构建变体,即如何消除android gradle中的默认构建变体,android,gradle,Android,Gradle,在我们的项目中,我们已经有了不同的构建变体(dev、qa和其他),这使得默认变体变得不相关和混乱 有没有一种方法可以完全删除默认的构建变体,即debug和release?他们已经生成了无法修复的编译器错误,因为它们不再受支持。我希望他们完全从现实中消失 如果这不可能,我想让依赖它们的大多数任务变得过时,就像它们从未存在一样,比如assembleDebug,compileedebugsources,installDebug,testDebugUnitTest等等 重写几个任务并生成漂亮的错误消息是
debug
和release
?他们已经生成了无法修复的编译器错误,因为它们不再受支持。我希望他们完全从现实中消失
如果这不可能,我想让依赖它们的大多数任务变得过时,就像它们从未存在一样,比如assembleDebug
,compileedebugsources
,installDebug
,testDebugUnitTest
等等
重写几个任务并生成漂亮的错误消息是可以的,但我担心我最终会重写很多任务。将这些任务放在build.gradle上,即使不是所有对调试变量任务的引用都要取消,也会发挥最大的作用
android.variantFilter { variant ->
if(variant.buildType.name.equals('debug') ) {
variant.setIgnore(true);
}
}
不过值得注意的是,如果您有另一个基于debug的变体,它仍然可以工作。例如,如果您以这种方式定义QA variant,则仍然可以运行它:
buildTypes {
qa {
initWith debug
. . .
为什么不直接使用debug和release而不是两个自定义变量名呢?看起来你把事情弄得太复杂了。他们被滥用了好几年,用于与他们的名字无关的事情,让人们感到困惑。贬低技术性的东西比修正人们的期望更容易。