Android Gradle - 仅针对特定任务过滤掉变体
Posted
技术标签:
【中文标题】Android Gradle - 仅针对特定任务过滤掉变体【英文标题】:Android Gradle - Filter out variant(s) only for a specific task 【发布时间】:2021-08-02 14:09:58 【问题描述】:我正在使用 android Studio 4.2.0 和 Gradle 6.7.1。
我在一个 Android 库项目上工作,当它在发布 CI 上构建时,它会构建每个单个变体,即使我真的需要一个特定变体。
我已经有一个variantFilter
,它排除了release
不属于production
风格的构建,如下所示:
android
variantFilter variant ->
def names = variant.flavors*.name
if (variant.buildType.name == 'release' && !names.contains("production"))
setIgnore(true)
现在,当install
任务运行时,我想只构建productionRelease
变体。
是否可以根据启动的 Gradle 任务过滤掉变体?
或者是否可以过滤 Gradle 任务图以仅保留来自 productionRelease
变体的 install
任务?
我尝试了很多配置都失败了,但我知道这个社区一定能提供宝贵的建议!
【问题讨论】:
【参考方案1】:是否可以根据启动的 Gradle 任务过滤掉变体?
是的,对于您的情况,有一种组装和安装特定变体的方法。你可以试试这个命令:
./gradlew clean installProductionRelease --stacktrace --debug --info
【讨论】:
以上是关于Android Gradle - 仅针对特定任务过滤掉变体的主要内容,如果未能解决你的问题,请参考以下文章
如何在针对特定 Gradle 构建风格的同时从命令行运行单个单元测试方法
如何使用 Gradle 和 JUnit 5 仅运行特定测试?