我已经为我的项目实现了产品口味。我正在同一代码库中构建三个新应用程序。
gradle同步后,已生成三种不同的风味,例如flavor1Debug,flavor1Release,flavor2Debug,flavor2Release。
我已将所有特定于风味的资源移至特定风味的res文件夹内。当我尝试运行./ gradlew lintRelease(应该为flavor1Release和flavor2Release运行lint)时,它没有检测到任何错误
为了测试棉绒,我在flavor1和flavor2的res文件夹内引入了一个未使用的资源。我尝试运行./ gradlew lintFlavor1Release或./ gradlew lintFlavor2Release,分别检测到错误和抛出。
但是./ gradlew lintRelease不会引发任何错误。我要去哪里错了?
尝试这样的事情:
创建一个自定义的gradle任务,它将分别运行所有这些lint任务。
tasks.register("runAllLinters")
afterEvaluate {
if ("lintFlavor1Release" in tasks.names) {
runAllLinters.dependsOn tasks.named("lintFlavor1Release")
}
}
当然,这只会为Flavor1触发-因此,您将需要同时扩展if()
条件和runAllLinters.dependsOn
块,以依赖于所有依赖于风味的皮棉任务。
最后,您应该能够像./gradlew runAllLinters
]一样运行它>