Android Gradle - 仅针对特定任务过滤掉变体

Android Gradle - Filter out variant(s) only for a specific task

提问人:araks 提问时间:5/12/2021 更新时间:7/14/2021 访问量:463

问:

我正在使用 Android Studio 4.2.0 和 Gradle 6.7.1。

我正在做一个 Android 库项目,当在发布 CI 上构建时,即使我真的需要一个特定的变体,它也会构建每个变体。

我已经有一个排除不符合口味的构建,如下所示:variantFilterreleaseproduction

android {
    variantFilter { variant ->
        def names = variant.flavors*.name
        if (variant.buildType.name == 'release' && !names.contains("production")) {
            setIgnore(true)
        }
    }
}

现在,当任务运行时,我只想构建变体installproductionRelease

是否可以根据已启动的 Gradle 任务过滤掉变体? 或者是否可以过滤 Gradle 任务图以仅保留变体中的任务?installproductionRelease

我尝试了很多配置但都失败了,但我知道这个社区将能够提供有价值的建议!

android gradle build.gradle android-library

评论


答:

0赞 rayworks 7/14/2021 #1

是否可以根据已启动的 Gradle 任务过滤掉变体?

是的,对于您的情况,有一种方法可以组装和安装特定变体。您可以尝试使用此命令:

./gradlew clean installProductionRelease --stacktrace --debug --info