Deprecate API version but allow users to download old APK - android

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?

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.

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.

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.

Related

In appgyver, How to change app build target to 8.0 (Android)?

In August 1, Google Play requires new apps to target at least Android 8.0 (API level 26). But in appgyver, I notice the latest available version is 4.5.3. Is there any way to upgrade it? Thanks!
I having the same issue, which is the maximum API level which appgyver supports is 21 only. GooglePlay required at least API Level 26 on August 2018 onward.
AppGyver just officially answered this question here.
TL;TR AppGyver is using Crosswalk, an Intel product, to build Android apps, and Intel has shut down Crosswalk over a year ago, now it is not possible for AppGyver to update their Build Service without rewriting the entier Android part, which would cost them too much, Supersonic and Steroids being depreciated, Android is officially abandonned by AppGyver, the Build Service will stay as is for apps that are internally distributed but won't allow to build apps destinated for Play Store.
Edit: I found a solution that allow me to get the app accepted on the Play Store, but app will crash on Android 8.
I then tested to install my app from the Play Store on a Android 6 with success but as we could expect it crashes on Android 8, the edited Target SDK number dupes the Play Store so it lets the APK in, but in the end it hasn't been built with Android 8 capabilities, so it won't work on that version.
All I had to do was to import my APK in APK Icon Editor, go in the Properties tab, change the Target SDK value to 26 (be sure to keep a lower value in the Minimum SDK field as it's the one telling what Android version can actually instal your app, if it's high then older phones won't have access to your app), and click on Pack APK to generate a new signed APK that is accepted by the Play Store!
Its as easy as this:
I then tested to install my app from the Play Store on a Android 6 with success but as we could expect it crashes on Android 8, the edited Target SDK number dupes the Play Store so it lets the APK in, but in the end it hasn't been built with Android 8 capabilities, so it won't work on that version.
Edit: it seems like it also crashes on Android 7 :(
Appgyver is constantly working on their platform and bringing latest updates. hopefully soon this issue will be resolved as well.. try contacting their support

Google Play Console Error notification 'Device Support Removed'

I got error notification when trying to upload / update new APK to Google Play Console, I've no idea what it is.
It's like my newer APK version is supporting fewer Device than my old APK. But I'm sure nothing changed in manifest file, it's only fix-bug update
Any suggestion?
This is perhaps because you changed the supported API in your app. Re-check it again to make sure that the supported API is the same as the one in your previous version. That notification is NOT an error, it is a warning notification to let you know that your app will support fewer types of devices than it does before.
For example, your previous version supports API from 15, but your newer version only supports API from 16.

firebase authentication error - "update google play services"

I have project with Firebase from google. First I done simple chat activity - only sending messages with this database. Everything worked fine. But now I'd like to add another activity with authentication via email/password. In the same project on the same database and android emulator now I get message:
"Update Google Play services : ChatApp won't run unless you update Google Play services"
I looked around on both Google and StackOverflow past few hours and have found some information. However, I have not got it to work.
I created Nexus 5X emulator with API 25 and Target: Android 7.1.1(Google APIs) x86 and second Nexus 6 with CPU/ABI x86_64. Google Play services on both are in version: 9.8.79 and I use auth in version 10.0.1. I try to create new emulators, I updated everything as here was said I changed in Firebase settings ability to log via e-mail.
Really makes me wonder why everything worked previously and now with authentication is not.
I'm relatively inexperienced in Android development.
Thanks in advance.
At the time of this writing (Jan 20, 2017) the API level 25 emulators have a fairly version of Play services. If you want to use the latest client library version 10.0.1, you should use an emulator image that targets API level 24 instead.
The general rule is that the version of Play services on the device should be greater than or equal to the version of the client libraries you want to use. Therefore, the version 9.8.79 you see on the API level 25 emulators won't work with 10.0.1 client libraries. However, version 10.0.84 of Play services available on API level 24 should work fine.
The version of Play services available for emulators only updates when you there is a tooling update. There isn't a Google-sanctioned way of updating an existing emulator image with a new version of Play.

Need apk for Google Play services with version 4132500

I have an app that is making use of the latest google play services sdk.
The emulators don't seem to come with the latest pre installed, and the 'update' link that pops up during the version check, does not respond.
There are lots of similar questions around these issues, and they all have the same answer, where the apk needs to be installed manually (ie. http://hintdesk.com/how-to-install-google-maps-in-android-emulator-and-use-it-in-intellij-idea/).
However it seems all these other pages refer to older apk versions. I'm using platform v. 4.4.2, API level 19. using 4.4.2 emulator, and getting this exact version error: "Google Play services out of date.Requires 4132500 but found 4033530"
I have tried 2 different sets of vendor and gms apks. ones with date 19032013, and ones with date 20130716
These resulted in the same error but an even older version found:
"Google Play services out of date.Requires 4132500 but found 3025110"
"Google Play services out of date.Requires 4132500 but found 3159132"
BTW, I was also getting the "Failure" issue when trying to uninstall the apks using adb.. I switched to the non API emulator, and was able to uninstall / install other apks.
The "failure" issue is mentioned in the comments of:
Trouble using Google sign-in button in the emulator
I think it's just a matter of using those common steps, but we need newer apk files. How do we get a hold of the ones for version 4132500 ?
I don't want to use the older sdk.. and I don't want to use my real device.. I really need to get the emulator working on the latest sdk.
Does anyone have a line on version 4132500 apks? Or does someone know another way to update google play services on the emulator?

Android APK file: Re-activate older APK file in Google Play Store

I have uploaded two APK files into the Google Play store. One is a newer version and one is an older version. The newer version is the active one since it has a higher versionName and Code. Now I found some bugs in the newer version and I want to delete it from the Play Store and activate the older version. Google Play won't let me deactivate the newer one and activate the older one again, since it has a lower versionName and code.
The problem is that I'm am not the developer and did not build the app. The developer is in another country and it is difficult to get hold of them.
What can I do to reactivate the older version again? I know one solution would be to change the versionName and Code. I only have the apk file, can I change those details in Eclipse with only the apk file and very little experience in eclipse or developing android apps?
Thank You
You can't rebuild a new version of an apk from the apk itself.
Have the app developer do the following:
Rebuild project in its previous state with higher version number (must be higher than all previously submitted versions)
Resubmit
From Google's Android "Developer Console" page:
Note that rollbacks aren’t supported due to the app versioning
requirements of the Android platform. If you need to rollback,
consider launching a previous APK with a new version number. However,
this practice should be used only as a last resort, as users will lose
access to new features and your old app may not be forward-compatible
with your server changes or data formats, so be sure to run alpha and
beta tests of your updates.
A good strategy is, when creating a build, modify the manifest to build say a version 2.0 = 39 AND again 2.05 = 45 and generate these two apks which will obviously do the same thing.
Later, when build 2.01 = 40 is in production and you find an error, you can jump back to the old version by uploading the 2.05 = 45 you created earlier.
You have 5 opportunities to back track while releasing 40, 41, 42, 43 and 44 to go back to earlier functionality!
Do this for each build and you can always go back to an earlier version which has been pre compiled and built but with a higher version number than currently in production.
You will not be able to change the APK file without having the signing certificate.
You should be able to revert to an older version, assuming you didn't change the level of API support.
Presumably, go to the Dev console, select the APK tab, hit the "Advanced Mode" option, deactivate the current version and hit "Reactivate" for the version you want.

Categories

Resources