Google Play不允许我更新我的应用

Ped*_*iel 13 android google-play cordova

我已经进行了大量搜索,并且不知道为什么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).
Run Code Online (Sandbox Code Playgroud)

以下是它的印刷品: 在此输入图像描述

build.phonegap.com使用CLI 制作第一个构建0.1,使用CLI在本地释放第二个构建(0.2),因为结果更好.

有人对此有一些线索吗?

谢谢阅读.

Sté*_*ane 13

这是因为您的新版本的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" />

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

  • 问题与minSdkVersion无关,而与targetSdkVersion无关.当您在之前的版本中设置target = 23时,您的所有Android 6用户当前都使用新的权限系统运行您的应用.如果您降级到目标= 22,这似乎是谷歌的问题,因为在这种情况下,您的Android 6用户将使用旧的权限系统运行您的应用程序. (2认同)
  • 它工作,改变目标到23里面清单:)谢谢! (2认同)

And*_*tro 11

对于那些使用Xamarin的人来说,收到此错误并且没有尝试降级他们的目标SDK.

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


Gar*_*ker 10

在比赛的后期,我最近与Xamarin客户见过很多.

除了Andreas的优点之外,使用Xamarin的用户的另一种可能性是,您之前可能已设置了23或更高的显式构建目标,但之后又恢复为自动.

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

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


Kaj*_*una 5

这对我来说也成了一个大问题.我测试了一个针对Api23的apk,发现我的应用程序在定位23时出现问题,恢复到较低的Api,现在我无法更新我的应用程序而不包括23引起的问题.

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

编辑:我与谷歌支持人员谈过,这就是他们现在的建议:有了这个问题,你可以做的就是在APK设置中按"禁用beta测试".这应该为您解决此问题.您应该可以返回到之前的API版本.

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

这显然是谷歌的一个不好的举动.简而言之,通过此策略,您可以在Beta中测试功能,系统会强制您在生产中实施该功能,即使测试结果不佳也是如此.这不是不好的做法吗?