PedroGabriel PedroGabriel - 3 months ago 36
Android Question

Google play don't let me update my app

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.

That's 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.

Answer

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.