在相同的代码库上构建两个不同的Android应用程序,只有const

时间:2016-08-10 17:11:02

标签: android codebase android-flavors

我正在构建两个Android应用程序,它们在相同的代码库上进行中继但不同于它们从中获取文件的服务器地址。

直到现在我已经创建了我的服务器地址常量的两行,并使用第一个const构建应用程序一次,并使用第二个const构建第二个。

有没有办法让我的应用程序编译两次,一次使用第一个常量,第二次使用第二个常量?

我正在使用带有Gradle build的Android工作室。

谢谢!

2 个答案:

答案 0 :(得分:2)

您可以使用detailed usage教Gradle为您的应用构建两个单独的副本,其中您的服务器地址在BuildConfig中定义:

android {
  // other stuff here

  productFlavors {
    flavorOne {
      buildConfigField "String", "URL", '"https://..."'
    }

    flavorTwo {
      buildConfigField "String", "URL", '"https://..."'
    }
  }
}

在Java代码中,请参阅BuildConfig.URL以获取要使用的URL。

答案 1 :(得分:1)

是的,你可以使用Build Variants。您可以将这些字符串移动到variants目录下的资源中,构建将引入正确的字符串。

以下是有关如何设置文档的完整文档的链接:https://developer.android.com/studio/build/build-variants.html