如何为每个构建变体设置不同的构建类型

时间:2018-11-07 08:42:28

标签: android android-productflavors android-build-type

我的应用程序有两种风格。这两种风味使用不同的baseurl。我总共有4个网址。

管理员测试

管理版本

用户测试

用户发布

android {
    ...
    defaultConfig {...}
    buildTypes {
        debug{   //baseurl for debug   }
        release{   //baseurl for release   }
    }
    // Specifies one flavor dimension.
    flavorDimensions "version"
    productFlavors {
        user {

        }
        admin {

        }
    }
}

我现在仅在调试和释放中设置一个url,但找不到为每种口味设置url的方法。

谢谢您的建议。

2 个答案:

答案 0 :(得分:2)

您可以在下面的图片中看到我的应用风格

  

src >>主

是所有人通用的。

  

src >> flavorVersionTwo

在这里,我创建了单独的strings.xml,它将覆盖相同string_name的主strings.xml

示例

让我们假设您在base_url中有src >> main >> strings.xml字符串

在使用(以我为例)falvorVersionTwo时。

如果您在base_url中添加了src >> flavorVersionTwo >> strings.xml字符串,那么它将覆盖main-> strings.xml中编写的base_url

Image

注意:

要了解更多信息,您可以阅读thisthis

答案 1 :(得分:1)

按照以下代码段进行操作:

android {
    ...
    defaultConfig {...}
    buildTypes {
        debug{   buildConfigField "String", "MY_URL", "https://debug"   }
        release{   buildConfigField "String", "MY_URL", "https://release"   }
    }
    // Specifies one flavor dimension.
    flavorDimensions "version"
    productFlavors {
        user {

        }
        admin {

        }
    }
}

编辑build.gradle文件后,您需要对其进行同步。

同步完成后,您可以通过BuildConfig.MY_URL使用MY_URL(BuildConfig由Gradle自动生成),如下图所示:

enter image description here

如果您的buildType是版本,则BuildConfig.MY_URL的值为https://release或debug的值为https://debug