【问题标题】:Building two different android apps on the same codebase that only differ by const在同一个代码库上构建两个不同的 android 应用程序,它们仅在 const 上有所不同
【发布时间】:2016-08-10 17:11:02
【问题描述】:

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

到目前为止,我已经创建了两行服务器地址常量,并使用第一个常量构建了一次应用程序,第二次使用第二个常量构建了应用程序。

有什么方法可以让我的应用程序编译两次,一次使用第一个常量,第二次使用第二个常量?

我正在使用带有 Gradle 构建的 Android Studio。

谢谢!

【问题讨论】:

    标签: android codebase android-flavors


    【解决方案1】:

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

    android {
      // other stuff here
    
      productFlavors {
        flavorOne {
          buildConfigField "String", "URL", '"https://..."'
        }
    
        flavorTwo {
          buildConfigField "String", "URL", '"https://..."'
        }
      }
    }
    

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

    【讨论】:

      【解决方案2】:

      是的,您可以使用构建变体。您可以将这些字符串移动到变体目录下的资源中,构建将拉入正确的。

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

      【讨论】:

        猜你喜欢
        • 2023-03-27
        • 2016-07-01
        • 1970-01-01
        • 2014-07-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-01-25
        • 2017-12-10
        相关资源
        最近更新 更多