如何创建指向不同服务器的不同构建变体?

时间:2015-06-19 06:07:16

标签: android gradle

我正在使用gradle.build来自动构建我的应用。我想生成三个不同的APK,每个APK指向不同的服务URL。

如何使用buildVariants(gradle中的productFlavors)。但是我无法弄清楚在Gradle中设置三个网址的位置。

我该怎么做?

2 个答案:

答案 0 :(得分:4)

使用gradle非常容易。

productFlavors {
    first_server {
        buildConfigField "String", "SERVER_URL", "\"https://first_server_url/\""
    }
    second_server {
        buildConfigField "String", "SERVER_URL", "\"https://second_server_url/\""
    }
}

您可能想要查找更多信息here

以后您可以通过BuildConfig.SERVER_URL

轻松访问此变量

答案 1 :(得分:3)

您可以使用如下,

在Gradle中:

productFlavors{
        serverone {
            applicationId "com.example.krishna.mysample.serverone"
            version 1.1
        }

        servertwo {
            applicationId "com.example.krishna.mysample.servertwo"
            version 1.1
        }
        serverthree {
            applicationId "com.example.krishna.mysample.serverthree"
            version 1.1
        }
    }

在文件夹结构中在App:

src
  -->main
  -->serverone
  -->servertwo
  -->serverthree

如果different logic需要MainActivity,那么MainActivity仅存放在serverone,servertwo和serverthree文件夹remaining classes are keep in main folder中。并且在该活动上做了不同的功能。