Android 如何根据构建类型和构建风格管理配置

Android 如何根据构建类型和构建风格管理配置,android,android-build-flavors,android-flavors,android-buildconfig,Android,Android Build Flavors,Android Flavors,Android Buildconfig,在我的应用程序中,我有两种构建类型release和debug,下面是代码片段 buildTypes { getByName("debug") { applicationIdSuffix = ".debug" versionNameSuffix = ".debug" buildConfigField("boolean", "DEBUG_MODE", "true") } getByName("release") {

在我的应用程序中,我有两种构建类型
release
debug
,下面是代码片段

buildTypes {
    getByName("debug") {
        applicationIdSuffix = ".debug"
        versionNameSuffix = ".debug"
        buildConfigField("boolean", "DEBUG_MODE", "true")
    }

    getByName("release") {
        proguardFiles(getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro")
        buildConfigField("boolean", "DEBUG_MODE", "false")
    }
}
flavorDimensions("version")
productFlavors {
    create("flavor1") {
        setDimension("version")
    }
    create("flavor2") {
        setDimension("version")
        versionCode = 1
        versionName = "1.0"
    }
}
我还有两种产品风格,下面是代码片段

buildTypes {
    getByName("debug") {
        applicationIdSuffix = ".debug"
        versionNameSuffix = ".debug"
        buildConfigField("boolean", "DEBUG_MODE", "true")
    }

    getByName("release") {
        proguardFiles(getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro")
        buildConfigField("boolean", "DEBUG_MODE", "false")
    }
}
flavorDimensions("version")
productFlavors {
    create("flavor1") {
        setDimension("version")
    }
    create("flavor2") {
        setDimension("version")
        versionCode = 1
        versionName = "1.0"
    }
}
现在我总共有4种产品类型

  • 香肠
  • 香料释放酶
  • 香喷喷
  • 香料释放酶
现在我需要创建一个变量app_name,以便不同产品类型的app name可以不同

  • flavor1debug------>应用程序名称:flavor1(调试)
  • flavor1 Release------>应用程序名称:flavor1
  • flavor2debug------>应用程序名称:flavor2(调试)
  • flavor2release------>应用程序名称:flavor2
如何使用configuration或strings.xml实现相同的功能

编辑:假设我使用的是第三方库,我想使用不同的身份验证密钥,如何使用
Flavor
&
buildType
组合实现这一点

i、 e根据以下配置,我需要4个不同的键

  • Flavor1+调试===========Key1
  • Flavor1+释放===========Key2
  • Flavor2+调试==============键3
  • Flavor2+释放==============键4

  • 如果有任何帮助,我们将不胜感激。

    在每个源代码集中声明strings.xml,然后您可以为不同的构建类型和风格检查设置不同的值, 产品风味{ 香料{ setDimension(“版本”) manifestPlaceholders=[appLabel:“FlavourA”] } 调味品{ setDimension(“版本”) 版本代码=1 versionName=“1.0” manifestPlaceholders=[appLabel:“FlavourB”] } } 在android清单文件中设置这个appLabel。
    resValue()应该在buildType和productFlavors中,因此resValue()总共有4个位置是正确的?@DisplayName yesI不能这样做,因为我不知道是否存在调试生成类型它是否属于FlavorA或FlavorBal,您可以在每个资源集中创建单独的string.xml文件,并且可以声明其中的任何字符串检查,我已经更新了答案这将不起作用,在这种情况下您将如何处理buildType?