此时我的应用版本正在使用minSdkVersion 16进行制作。 目前我正在尝试使用minSdk 19部署测试版新版本,但我收到此错误:
{
"code" : 403,
"errors" : [ {
"domain" : "androidpublisher",
"message" : "Devices with version 49 of this app target SDK 27 and would be upgraded to version 26 which targets SDK 20. This is forbidden as you cannot upgrade away from M permissions."
,
"reason" : "multiApkDowngradedTargetSdk"
} ],
"message" : "Devices with version 49 of this app target SDK 27 and would be upgraded to version 26 which targets SDK 20. This is forbidden as you cannot upgrade away from M permissions."
}
如果我像以前一样离开它,minSDK16可以正常工作,但是当我将其更改为甚至API时,17/18/19将无效。
我正在使用此插件进行部署发布apk:gradle-play-publisher
您有解决方法吗?当然,我需要将min支持版本增加到19.
由于
答案 0 :(得分:0)
您可以将minSdk留在任何您想要的地方(例如19),只要您确保targetSdk至少为23。
让我详细解释一下发生了什么。借助SDK 23(Android M),该功能进入了request runtime permissions。发生这种情况时,用户在安装时不接受权限,而是应用程序请求它们,并且用户在需要权限时授予它们。
写入目标SDK< 23的旧应用程序被允许在安装时继续请求权限。但是,一旦用户安装了面向SDK 23的应用程序,您就无法自动将它们从该应用程序(因为它们未接受任何权限)升级到具有安装时权限的应用程序。然后,用户可能安装了一个他们不接受的权限的应用程序。
从错误消息中,您似乎想要拿走一个具有目标SDK 27的版本(49),并将其替换为具有目标SDK 20的APK。最佳解决方案是获取新的APK,以及给你任意minSdkVersion
你想要的,但要确保your app's manifest中的targetSdkVersion
至少为23.然后这个警告就会消失。