2

background:

My current app is already running on Google play with minSdkVersion=8. As every developer knows Froyo and Gingerbread should have died a couple of years ago, and finally the product team on the company allowed us to drop support for them and go to API 15. Yeah.

Approach:

The idea is to leave this last stable version still available for Gingerbread users to download, so what I'm trying is:

  • create a build with minSdkVersion=8; maxSdkVersion=14; versionCode=195
  • create another build with minSdkVersion=15; versionCode=250 (skipping a few version codes in case we NEED some emergency maintenance)

the issue:

it all builds fine, but Google Play does not allow the multi-apk upload with the following error:

This configuration cannot be published for the following reason(s):

It is forbidden that a device upgrading from API levels in range 8-14 to API levels in range 15+ should downgrade from version 195 to version 194

question:

  • is what I'm trying to do something that Google Play does automatically?
  • is it possible to do what I'm trying to do?
  • if possible, how?
Budius
  • 39,391
  • 16
  • 102
  • 144
  • Using `maxSdkVersion` has been discouraged for a couple of years if memory serves me correctly. The intention was to make it redundant and I'm not sure Google Play even takes any notice of it any more. – Squonk Aug 08 '14 at 07:26

3 Answers3

2

The problem is maxSdkVersion=14; versionCode=195. This means that if someone has a device running API level 14, and they upgrade that device to 15, the version of the app they have installed (195) will not run.

Try omitting the maxSdkVersion. I'd hope that people in this scenario would then continue to be able to use the 195 build of the app, and then Google Play should upgrade it to the 250 build next time it performs its check.

Graham Borland
  • 60,055
  • 21
  • 138
  • 179
  • I understand what you said, but as far as my experience goes, we (the devs) have to make a very explicit filtering when using the multi-apk feature. I'll give a try now and report back. – Budius Jul 07 '14 at 16:41
  • with both APks now it says `Some devices are eligible to run multiple APKs. In such a scenario, the device will receive the APK with the higher version code.` So I guess that's the right way of doing it. As long as I do not de-activate the apk from the control panel, Gingerbread users will be able to download this last version. – Budius Jul 07 '14 at 17:08
2

Google Play does this automatically - users will receive the latest version that is compatible with their device so there's no need to publish your version 195.

As stated in that error, you should continue to have 15+ versions of the app have a higher version number than <15 builds - this will ensure that users only ever upgrade their app to maintain compatibility.

ianhanniballake
  • 191,609
  • 30
  • 470
  • 443
  • 1
    Thanks for the response. Do you have any link that supports the claim that `Google Play does this automatically`? I've tried to find such information and was not able to. And because it's app with 600k+ users, I don't like messing to much on the production release without being sure about stuff. – Budius Jul 07 '14 at 16:48
  • Thanks. Your answer is correct too, but Graham beat you to the clock for a few minutes. – Budius Jul 07 '14 at 17:09
  • The [Creating Multiple APKs for API level training](http://developer.android.com/training/multiple-apks/api.html) is a good starting point and the [Multiple APK support training](http://developer.android.com/google/play/publishing/multiple-apks.html) should have everything you need to know at the general level. – ianhanniballake Jul 07 '14 at 17:26
0

This error message sounds like Goole Play doesn't "see" your second APK (version 250) for API 15+ and it "believes" users with 15+ will have to downgrade to older version 194 when new version 195 gets installed. I never tried to upload multi-APK projects, but documentation says you need to switch into "advanced mode" (a button in the top-right corner) to upload multi-APK. In this mode "upload new apk" works a bit differently. I assume this might be the issue.

sergej shafarenka
  • 20,071
  • 7
  • 67
  • 86