在Android Play开发者控制台中恢复到旧版本的APK

9
我已经向Google Play提交了多个版本的应用程序,我注意到在最新版本中出现了一个错误。然而,所有之前的版本仍然出现在“APK”部分,并被标记为“未发布”。我正在尝试取消发布版本2.1并使用版本2.0。
以下是我所采取的步骤:
1. 进入APK部分 2. 切换至高级模式 3. 点击版本2.0上的“移动到正式版” 4. 点击版本2.1上的“停用”
然后我收到了这个错误信息:(版本7是2.1,版本6是2.0)
This configuration cannot be published for the following reason(s):
It is forbidden to downgrade devices which previously matched version 7 
to version 6, which would occur when 
API levels in range 16+ and 
Screen layouts containing any of [small, normal, large, xlarge] 
and Features containing all of [android.hardware.screen.PORTRAIT,
android.hardware.TOUCHSCREEN]. 

当比较两个版本的APK时,它们的配置完全相同:

-------------------------------------------------------
Details     | Version 2.0        | Version 2.1        |
-------------------------------------------------------
API levels  | 16+                | 16+                |
-------------------------------------------------------
Screen lay. | 4 screen (s/n/l/xl)| 4 screen (s/n/l/xl)|
-------------------------------------------------------
Features    | same for both      | same               |
-------------------------------------------------------

所以,在这种情况下,错误消息并不是很有信息量。这是返回并激活旧版APK的正确方法吗?如果是,那么问题在哪里?


2
如果其他方法都失败了,你可以把你的2.0代码假装成2.2版本,这样在谷歌看来它就是更新的了。 - Eugene Styer
1个回答

7
该消息意味着已发布的应用程序无法降级。有关您的配置的其他信息只是表明所有配置的设备都会受到影响。
Android操作系统检查版本代码,一旦您安装了版本代码为7的应用程序,将不允许任何版本代码低于8的应用程序。您可以使用adb install命令尝试此操作。 参考文档
  • 您不能激活版本代码低于被替换APK的版本代码的新APK。例如,假设您有一个适用于屏幕大小为小 - 普通且版本代码为0400的活动APK,然后尝试使用版本代码为0300的相同屏幕大小的APK替换它。这会引发错误,因为这意味着之前APK的用户将无法更新应用程序。
您有两种方法:
1. 解决错误并重新发布新版本。 2. 从以前的版本中获取代码,并将其版本代码更改为8并重新发布。

6
那么,仪表板上列出所有以前的APK版本有什么意义呢? - Rain Man
1
@RainMan 我在更新的答案中添加了参考。回答你的问题,这可能是由于支持多个APK。此外,我在SO上读到过,这可能是由于应用内计费,因为旧的apk需要存在以检查签名,如果有人没有更新他们的应用程序。 - Rahul Tiwari

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接