我在应用程序商店上发布了一个应用程序,目标api为23。一个用户联系了我,告诉我我的应用程序会在运行23的设备上立即崩溃。经过研究,如果目标是23,我的应用程序依赖的库就会崩溃。我将目标设置为22 (修正了错误),但现在google不允许我更新应用程序,因为“禁止将以前使用M权限(目标SDK 23及以上)的设备降级到使用旧风格权限(目标SDK 22及以下)的APK”。
这是一个付费应用程序,所以我不能只是删除它从商店和重新发布一个新的名称。以前有人遇到过这种情况吗?有什么建议吗?
发布于 2016-04-25 19:50:47
正如错误消息所述,一旦将targetSdkVersion设置为23,您将使用Android6.0的运行时权限,并且不能降级以锁定旧的targetSdkVersion。
正如选择编译、min和targetSdkVerison博客文章中提到的
这并不意味着您必须使用引入的每个新功能,也不应该盲目地更新您的targetSdkVersion而不测试 -请, 请在更新targetSdkVersion!之前请测试,您的用户将感谢您。
您必须更新应用程序与API 23的兼容性,删除专门禁止以API 23为目标的库,并确保您的在运行时请求危险的权限。
发布于 2016-04-25 20:18:53
您可以添加条件,将代码的各个部分与受支持的版本相关联,而不是降级。
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M){
//put whole code here if nothing supported for 23+
}https://stackoverflow.com/questions/36849405
复制相似问题