Android 在Google Play上发布新的生产版本,不影响测试版

Android 在Google Play上发布新的生产版本,不影响测试版,android,google-play,Android,Google Play,我在谷歌Play商店有一个生产应用程序。我还使用Google Play beta功能向有限的团体发布了一个测试版。但是,如果我对生产应用程序进行了更改,那么我需要重新构建并重新发布测试版应用程序,因为它会被新的生产版本覆盖。当我想在不改变测试版的情况下对产品进行一些bug修复时,这是非常令人沮丧的。有没有办法发布一个新的生产应用程序而不使当前的测试版失效?我相信谷歌要求你的新生产应用程序版本覆盖测试版的原因是由于基本的开发周期。通常应用程序从Alpha阶段开始,然后是beta阶段,最后是生产阶段

我在谷歌Play商店有一个生产应用程序。我还使用Google Play beta功能向有限的团体发布了一个测试版。但是,如果我对生产应用程序进行了更改,那么我需要重新构建并重新发布测试版应用程序,因为它会被新的生产版本覆盖。当我想在不改变测试版的情况下对产品进行一些bug修复时,这是非常令人沮丧的。有没有办法发布一个新的生产应用程序而不使当前的测试版失效?

我相信谷歌要求你的新生产应用程序版本覆盖测试版的原因是由于基本的开发周期。通常应用程序从Alpha阶段开始,然后是beta阶段,最后是生产阶段


beta版本被覆盖,因为beta周期的下一个逻辑步骤是发布。当您重新提交beta版时,它将是当前的代码修订版作为生产版本,以及正在测试的bug修复。

基本问题是Google Play根据内部版本号(
versionCode
)进行更新,而不关心.apk来自哪个频道

您唯一的选择是不拾取连续的内部版本号,而是留下间隙。例如,如果您的产品是
versionCode=“10”
,则进行beta版本
versionCode=“20”
,这将使您有机会在遇到使beta版本无效的问题之前再发布九个次要产品版本

尽管这种方法存在两个问题: -显然,它的伸缩性不是很好。 -这使得管理版本号变得很困难,因为现在您必须记录哪些版本达到了哪个版本号。 -如果您不使beta版本无效,您的beta版用户在升级之前仍会有您刚刚在新产品版本中修复的bug


请注意,如果您没有阻止自动升级的权限更改,那么使beta版本无效并发布新版本并不是什么大问题;大多数用户甚至不会注意到他们升级了(除非你的应用程序明确告诉他们)。

方案非常简单:

Google Play使用
versionCode
表示用户当前可用的apk。无论它是生产版还是测试版。此外,不允许上载版本代码低于以前某个版本的版本


因此,在您的情况下,您需要上传一个生产版本,然后上传一个beta版本(即使它唯一的更改是
versionCode
)。偶尔,您的一些beta版用户可能会下载生产版本,但无论如何,他们会在稍后获得beta版。

感谢您的完整解释。关于
versionCode
解决方案的有趣想法。听起来应该是可行的,但很容易变成一个糟糕的计划。`如果你的产品版本是versionCode=“10”,那么就制作beta-buildversioncode=“20”,这样你就有机会再发布九个次要的产品版本'-我认为这是不可能的。如果有版本代码为“20”的beta版,发布版本代码为“11”的生产版本将被GP拒绝。听起来我们最好的选择是将第二个应用程序作为beta版。所有这些都太混乱了谷歌如何处理测试版生产切换