Google play don't let me update my app

12,470

Solution 1

This is because your new build has a targetSdkVersion (22) lower than your current live build (23) in the manifest:

<uses-sdk android:targetSdkVersion="22" />

targetSdkVersion 23 is for Android 6+ where there is a new way to manage permissions : http://developer.android.com/training/permissions/requesting.html

So your current live users having Android 6+ are using the new permission system and it seems this is a problem for Google to downgrade those users to targetSdkVersion 22 where there is the old permission system.

So to fix it, you should update your new build to use targetSdkVersion 23 :

<uses-sdk android:targetSdkVersion="23" />

and so make sure you manage the new permission system.

Solution 2

For those using Xamarin, are getting this error and have not tried to downgrade their target SDK.

It appears Google Play displays this error if you change the supported ABIs. We recently published a build to Beta that was built using armeabi-v7a and x86. On our next build we removed x86 as it was unnecessary but we got the error above. So it appears that at the moment Google play does not support removing platforms you build for.

Solution 3

Late to the game but I have been seeing this a lot with Xamarin clients recently.

In addition to Andreas's excellent point, another possibility for those using Xamarin is that you might previously have set an explicit build target of 23 or higher but then reverted to Automatic.

Xamarin places < uses-sdk /> in the manifest when using Automatic which when replacing an APK that used an explicit target gives an error message as above but complaining of a change to target SDK 0. This happens even if the Automatic target is equal or higher than the existing SDK.

To solve this set an explicit target of 23 or higher

Solution 4

This has become a big problem for me too. I tested an apk that targets Api23, found out my app had problems when targeting 23, reverted to a lower Api and now I can't update my app without including the problems caused by 23.

Somebody here claims to have solved the problem by testing in Alpha, but that is not working for me: https://groups.google.com/d/msg/android-developers/dpK2XO025kQ/ciD_X4SoCQAJ

Edit: I talked to Google support and this is what they are suggesting now: With this issue, what you can do is press "disable beta testing" in the APK settings. This should resolve this issue for you. You should be able to go back to your previous API version.

I've had no luck so far, as my Beta Testing refuses to disable. So I'm working to properly adapt my app to Api 23.

This is clearly a bad move from Google. Put simply, with this policy you test a feature in Beta and the system forces you to implement it in Production, even if the testing went bad. Is that not bad practice?

Share:
12,470
Pedro Gabriel
Author by

Pedro Gabriel

Updated on June 06, 2022

Comments

  • Pedro Gabriel
    Pedro Gabriel about 2 years

    I already made a huge search and don't know why Google Play are not letting me update my Prod app. Their error message does not make too much sense for me, actually I don't understand for real why they are not accepting it.

    This is the error message:

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

    And here is a print of it: enter image description here

    The first build 0.1 was made using build.phonegap.com and the second one (0.2) was released locally using CLI because the results are better.

    Anyone has some clue about that?

    Thanks for reading.

  • Pedro Gabriel
    Pedro Gabriel over 8 years
    That's weird because I've only set <preference name="android-minSdkVersion" value="15" /> Gonna try to set target 23 and min 15
  • Stéphane
    Stéphane over 8 years
    The problem is not linked to the minSdkVersion, but to the targetSdkVersion. As you set target=23 in the previous build, all your Android 6 users currently runs your app with the new permission system. And this is what seems to be the problem for Google if you downgrade to target=22, because in that case, your Android 6 users would run your app with the old permission system.
  • Zapnologica
    Zapnologica over 7 years
    Is there a way to do it without having to cater for android M permissions? Ie remove live version or something? I specifically made my update target lower due to permission issues.
  • Cigogne  Eveillée
    Cigogne Eveillée almost 7 years
    Where is that setting?
  • dennis
    dennis over 6 years
    I have the same issue...:(