如何在一个命令中为所有产品口味运行皮棉-Android?

问题描述 投票:0回答:1

我已经为我的项目实现了产品口味。我正在同一代码库中构建三个新应用程序。

gradle同步后,已生成三种不同的风味,例如flavor1Debugflavor1Releaseflavor2Debugflavor2Release

我已将所有特定于风味的资源移至特定风味的res文件夹内。当我尝试运行./ gradlew lintRelease(应该为flavor1Releaseflavor2Release运行lint)时,它没有检测到任何错误

为了测试棉绒,我在flavor1flavor2res文件夹内引入了一个未使用的资源。我尝试运行./ gradlew lintFlavor1Release./ gradlew lintFlavor2Release,分别检测到错误和抛出。

但是./ gradlew lintRelease不会引发任何错误。我要去哪里错了?

java android static-analysis lint android-productflavors
1个回答
0
投票

尝试这样的事情:

创建一个自定义的gradle任务,它将分别运行所有这些lint任务。

tasks.register("runAllLinters")

afterEvaluate {

    if ("lintFlavor1Release" in tasks.names) {
        runAllLinters.dependsOn tasks.named("lintFlavor1Release")
    }
}

当然,这只会为Flavor1触发-因此,您将需要同时扩展if()条件和runAllLinters.dependsOn块,以依赖于所有依赖于风味的皮棉任务。

最后,您应该能够像./gradlew runAllLinters]一样运行它>

© www.soinside.com 2019 - 2024. All rights reserved.