Google play 不要让我更新我的应用程序

Google play don't let me update my app

我已经进行了大量搜索,但不知道为什么 Google Play 不让我更新我的 Prod 应用程序。 他们的错误信息对我来说意义不大,其实我真的不明白他们为什么不接受。

这是错误信息:

This configuration cannot be published for the following reason(s):
It is forbidden to downgrade devices which previously used M permissions (target SDK 23 and above) to APKs which use old style permissions (target SDK 22 and below). This occurs in the change from version 178 (target SDK 23) to version 2008 (target SDK 22).
It is forbidden to downgrade devices which previously used M permissions (target SDK 23 and above) to APKs which use old style permissions (target SDK 22 and below). This occurs in the change from version 178 (target SDK 23) to version 2008 (target SDK 22).
It is forbidden to downgrade devices which previously used M permissions (target SDK 23 and above) to APKs which use old style permissions (target SDK 22 and below). This occurs in the change from version 178 (target SDK 23) to version 2008 (target SDK 22).
It is forbidden to downgrade devices which previously used M permissions (target SDK 23 and above) to APKs which use old style permissions (target SDK 22 and below). This occurs in the change from version 178 (target SDK 23) to version 2008 (target SDK 22).

这是它的印刷品:

第一个版本 0.1 是使用 build.phonegap.com 制作的,第二个版本 (0.2) 使用 CLI 在本地发布,因为结果更好。

有人对此有一些线索吗?

感谢阅读。

这是因为您的新构建的 targetSdkVersion (22) 低于清单中当前的实时构建 (23):

<uses-sdk android:targetSdkVersion="22" />

targetSdkVersion 23 适用于 Android 6+,其中有一种管理权限的新方法:http://developer.android.com/training/permissions/requesting.html

所以您当前拥有 Android 6+ 的实时用户正在使用新的权限系统,这似乎是 Google 将这些用户降级到具有旧权限的 targetSdkVersion 22 的问题系统.

所以要修复它,您应该更新您的新版本以使用 targetSdkVersion 23 :

<uses-sdk android:targetSdkVersion="23" />

因此请确保您管理新的权限系统。

对于那些使用 Xamarin 的用户,遇到此错误并且没有尝试降级他们的目标 SDK。

似乎 Google 如果您更改支持的 ABI,Play 会显示此错误。我们最近发布了一个使用 armeabi-v7a 和 x86 构建的 Beta 版本。在我们的下一个构建中,我们删除了 x86,因为它是不必要的,但我们得到了上面的错误。因此,目前 Google play 似乎不支持删除您为其构建的平台。

游戏迟到了,但我最近在 Xamarin 客户中经常看到这种情况。

除了 Andreas 的出色观点之外,对于那些使用 Xamarin 的人来说,另一种可能性是您之前可能已将显式构建目标设置为 23 或更高,但随后恢复为自动。

Xamarin 在使用 Automatic 时将 < uses-sdk /> 放置在清单中,当替换使用显式目标的 APK 时会给出如上所述的错误消息,但抱怨目标 SDK 0 发生更改。即使自动目标等于或高于现有 SDK。

要解决此问题,请设定 23 或更高的明确目标

这也成了我的一个大问题。我测试了一个以 Api23 为目标的 apk,发现我的应用程序在以 23 为目标时出现问题,恢复到较低的 Api,现在我无法更新我的应用程序而不包含由 23 引起的问题。

这里有人声称已经通过在 Alpha 中进行测试解决了这个问题,但这对我不起作用:https://groups.google.com/d/msg/android-developers/dpK2XO025kQ/ciD_X4SoCQAJ

编辑:我与 Google 支持人员进行了交谈,这就是他们现在的建议:对于这个问题,您可以在 APK 设置中按 "disable beta testing"。这应该可以为您解决此问题。您应该可以返回到之前的 API 版本。

到目前为止我运气不好,因为我的 Beta 测试拒绝禁用。所以我正在努力使我的应用程序正确适应 Api 23.

与 Google 相比,这显然是一个糟糕的举动。简而言之,使用此策略,您可以在 Beta 版中测试一项功能,并且系统会强制您在生产版中实施它,即使测试失败也是如此。这不是不好的做法吗?

更改目标Android版本 自动使用目标框架 --> 覆盖 - Android xx.