我已经在应用程序商店发布了一个目标api为23的应用程序。用户已联系我,通知我我的应用程序在运行的设备上立即崩溃23.经过研究,我的应用程序库依赖于崩溃目标是23.我将目标设置为22来修复错误,但是,现在google play不会让我更新应用程序,因为"禁止降级以前使用M权限的设备(目标SDK 23和上面的)使用旧式权限的APK(目标SDK 22及以下)。"
这是付费应用,因此我无法将其从商店中删除,并以新名称重新发布。有没有人遇到过这个?有什么建议吗?
答案 0 :(得分:1)
正如错误消息所述,将targetSdkVersion
设置为23后,您正在使用Android 6.0's runtime permissions,并且无法降级为定位较旧的targetSdkVersion
。
如Picking your compile, min, and targetSdkVerison blog post中所述:
这并不意味着你必须使用所引入的所有新功能,也不应该盲目地更新你的targetSdkVersion而不进行测试 - 请,请测试,然后再更新你的targetSdkVersion!你的用户会感谢你。
您必须更新应用与API 23的兼容性,删除专门禁止定位API 23并确保您request dangerous permissions at runtime的库。
答案 1 :(得分:0)
而不是降级,您可以添加将代码部分与支持的版本相关联的条件。
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M){
//put whole code here if nothing supported for 23+
}