繁体   English   中英

Android应用程序名称取决于buildType和flavor Gradle

[英]Android app name depends on buildType and flavours Gradle

以下是我的gradle源代码的摘录。 我想要实现的是在执行buildType.debug时为app name添加后缀。 我尝试了以下代码,但变量按顺序分配,因为它们是在文件中写入而不是作为任务顺序。 因此,在下面的示例中,buildVariant变量将始终等于Release。

{
def buildVariant = ""   
buildTypes {
    debug {
        manifestPlaceholders = [showDebug: 'true']
        buildVariant = " (DEBUG)"
    }
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        manifestPlaceholders = [showDebug: 'false']
        signingConfig signingConfigs.myConf
        buildVariant = " Release"
    }
}    
productFlavors {

    flavour1{
        resValue 'string', 'app_name', 'Flavour1'+buildVariant
    }
    flavour2{
        resValue 'string', 'app_name', 'Flavour2'+buildVariant
    }
    flavour3{
        resValue 'string', 'app_name', 'Flavour3'+buildVariant
    }
}

这是一个非常有趣的难题,所以谢谢你的问题!

在这里你可以做什么:

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.0"

    defaultConfig {
        ....
    }
    buildTypes {
        debug {
        }

        release {
        }
    }

    productFlavors {
        FlavorA {
        }

        FlavorB {
        }
    }

    applicationVariants.all { variant ->
        variant.resValue "string", "app_name", '"' + variant.productFlavors.get(0).name + '_' + variant.buildType.name + '"'
    }

}

dependencies {
}

结果,它打印应用程序名称“FlavorA_debug”,“FlavorB_release”等。

(注意!我用gradle classpath'com.android.tools.build:grad:1.3.0'运行它 - 效果很好,虽然我没有尝试旧版本)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM