2016-02-03 55 views
12

我已经取得了巨大的搜索,不知道为什么谷歌玩的不是让我更新我的督促程序。 他们的错误信息对我来说没有多大意义,实际上我不明白他们为什么不接受它。谷歌玩不要让我更新我的应用程序

这是错误消息:

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). 

这里是它的一个打印: enter image description here

第一构建0.1使用build.phonegap.com和第二个(0.2)制成使用被局部释放CLI,因为结果更好。

任何人有关于一些线索?

感谢您的阅读。

+0

你可以发布清单文件吗? – Thilek

+0

我认为你需要更新你的cordova,确保你的app支持marhsmallow类型权限检查。 '科尔多瓦平台更新的Android @ 5.0.0' –

回答

12

这是因为新的构建具有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" />

所以确保你管理新的许可制度。

+0

这是奇怪,因为我只设置'<首选项名称=“机器人-的minSdkVersion”值=“15” />' 要去尝试设定的目标23分15 – PedroGabriel

+2

问题没有链接到minSdkVersion,而是链接到targetSdkVersion。当您在之前的版本中设置target = 23时,您的所有Android 6用户当前都使用新的权限系统运行您的应用程序。如果您降级到目标= 22,这似乎是Google的问题,因为在这种情况下,您的Android 6用户将使用旧权限系统运行您的应用。 –

+2

它的工作,将目标更改为23内清单:)谢谢! – PedroGabriel

10

对于使用Xamarin的,收到此错误,并没有试图降级他们的目标SDK。

看来,如果你改变支持的ABI谷歌播放显示此错误。我们最近发布了一个使用armeabi-v7a和x86构建的Beta版本。在我们的下一个版本中,我们移除了x86,因为它是不必要的,但是我们得到了上述错因此,目前看来,Google Play不支持删除您为其构建的平台。

6

迟到了比赛,但我一直在这家最近看到了很多与Xamarin的客户。

除了安德烈亚斯的良好的出发点,对于使用Xamarin的另一种可能性是,你可能之前已经设置的23或更高的明确创建目标,但随后恢复为自动。

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

为了解决这个设置的23一个明确的目标或更高

4

这已成为一个很大的问题对我来说太。我测试了一个针对Api23的apk,发现我的应用在定位23时遇到了问题,恢复为较低的Api,现在我无法更新我的应用,但未包括由23引起的问题。

有人声称已经解决通过测试在Alpha中的问题,但这不是对我的工作:https://groups.google.com/d/msg/android-developers/dpK2XO025kQ/ciD_X4SoCQAJ

编辑:我谈到谷歌支持,这是他们现在建议:这个问题,你可以做的是按“禁用beta测试“在APK设置中。这应该为你解决这个问题。您应该能够回到以前的API版本。

我已经没有运气到目前为止,我的Beta测试拒绝禁用。所以我的工作我的应用程序正确地适应阿比23

这显然是从谷歌不好动。简而言之,通过此策略,您可以测试Beta版中的功能,并且系统会强制您在生产环境中实施该功能,即使测试结果不佳。这不是不好的做法吗?

0

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

+0

该设置在哪里? –

+0

这让我们在清单文件中写入一个条目。 –

相关问题