【问题标题】:Promotion of app from beta to production on Google Play working with Build Variants使用 Build Variants 在 Google Play 上将应用从 beta 推广到生产
【发布时间】:2019-01-01 03:00:28
【问题描述】:

我有以下情况

场景

第 1 部分。 使用 Build Variants 的应用程序:debugbetarelease 如下

buildTypes {
    debug {
        versionNameSuffix '-DEBUG'
        applicationIdSuffix '.debug'
        buildConfigField "String", "SERVER_URL", '"url local test"'
        debuggable true
        signingConfig signingConfigs.config
    }
    beta {
        versionNameSuffix '-BETA'
        buildConfigField "String", "SERVER_URL", '"url homologation"'
        signingConfig signingConfigs.config
    }
    release {
        buildConfigField "String", "SERVER_URL", '"url production"'
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        signingConfig signingConfigs.config
    }
}

并调用String SERVER_URL 指向当前网址,由buildType selected。看这个

String URL = BuildConfig.SERVER_URL

Part 2. Android Studio 在Build Variants 之间的切换,如下图

这对我来说完全没问题

问题

第 1 部分。我在 Google Play 生产环境中安装了该应用从发布变体生成为已签名的 apk

第 2 部分。我需要将应用程序放在 Google Play beta 测试中从 BETA 变体生成签名 apk,例如,指向 url homologation

第 3 部分。当产品负责人完成 beta 测试后,我需要通过 Google Play Console 将同一个应用推广到生产环境

问题

核心问题:当我将应用程序从测试版推广到生产时,它会自动指向release varianturl production,或者我需要生成另一个apk 作为signed apk from release variant

为什么?主要动机是因为我无法在没有安全保证它会正常工作的情况下测试这个促销活动,同样重要的是,这将节省我的时间,我自己的厨师可以做到它

警告!如果是错误的工作,最好的做法是什么?

【问题讨论】:

    标签: android url gradle google-play-console build-variant


    【解决方案1】:

    如果我理解你的问题,那就是:

    • 使用您当前的设置,您已将一些配置编译到 APK 中,包括服务器 URL
    • 您希望使用一台处于测试阶段的服务器和另一台处于发布阶段的服务器进行测试
    • 但这意味着您不能宣传您的测试版 APK 以发布,因为 URL 会有所不同。但是,如果您重新编译,您无法确定 APK 与您测试的那个 APK 保持不变。

    你是对的,这是一个真正的问题。有两种常见的解决方案:

    • 选项 1:不要将服务器字符串编译到 APK 中。相反,请使用Firebase remote config 之类的服务来动态更改您的测试版的服务器和其他设置。这样 APK 就不需要更改了
    • 选项 2:在构建 beta 版本时,在版本控制系统中标记您的分支。然后,当您想升级为 prod 时,构建一个新的 APK,但请确保您使用的是版本控制系统中的标记分支。

    我个人认为我会推荐选项 1,但我知道不同的大型专业 android 开发人员同时使用这两个选项。

    【讨论】:

    • 您的回答很满意。意味着我需要复习我在 Android 开发方面的技能。非常感谢。您有任何指向 Gradle 模式的链接吗?
    猜你喜欢
    • 2023-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-30
    • 2019-03-02
    • 2013-11-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多