Active Build 变体 - Gradle - 库集成

Active Build Variant - Gradle - Library Imlementation

提问人:Ali Demirci 提问时间:8/11/2022 更新时间:8/12/2022 访问量:144

问:

我有三个构建变体。渗透测试, 释放, UAT

有两个库彼此重复。

'com.demirci:security:1.0.1' 
'com.demirci:security-pentest:1.0.1'

阙:当 Pentest 构建变体处于活动状态时,需要实现库“com.demirci:security-pentest:1.0.1”。否则,需要在其他两个变体(release、uat)中添加“com.bank:security:1.0.1”。

我在下面写的代码正在工作。

pentestImplemantation 'com.demirci:security-pentest:1.0.1'
uatImplemantation 'com.demirci:security:1.0.1'
releaseImplemantation 'com.demirci:security:1.0.1'

但我想改进它。如果活动构建变体文本包含单词“pentest”,请添加库“com.demirci:security-pentest:1.0.1”,否则我想添加类似添加另一个的内容。

我该怎么做?你可以帮我吗?

android gradle groovy 构建 android-gradle-plugin

评论


答:

1赞 Ali Demirci 8/11/2022 #1

我找到了解决方案。我希望它对其他人有用

applicationVariants.all { variant ->
    def currentVariantImplementation = variant.getName() + "Implementation"
    if (variant.getName().contains('pentest')) {
        dependencies."$currentVariantImplementation" 'com.demirci:security-pentest:1.0.1'
    } else {
        dependencies."$currentVariantImplementation" 'com.demirci:security:1.0.1'
    }
}