My app is intended to only run on API level 20+.
Unfortunately my fist APK that I published was targeted towards API level 11+.
I fixed the issue and uploaded an updated version. Now I have two APKs that are active and published. If trying to deactivate one of them I am getting an error that downgrading is not allowed.
How do I solve this?
You should deactivate the oldest version so if version 1 is API 11+ and version 2 is API 20+ you should deactivate version 1. This should disable downloads for devices that are < API 20. If a lot of users have it installed you can't force them to update so you will have 2 version running until your whole userbase has update to that version.
Found the solution:
I had to deactivate an older APK from the beta-phase. After that I was able to deactivate the +11 APK.
Related
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
We are having an Android App, which is currently supporting API 16 and above. The very old version ( before approx six releases ) was supporting API 14.
When releasing new version, we are able to deactivate the currently active version in the NEW Google play console.
But we have following issues, in NEW Google play console.
1) We can not view very old APK versions ( we are able to see the list of past three versions only )
2) We are unable to deactivate any of other older versions.
As older versions are not deactivated, the users of older Android devices ( with older versions below 16 ) can download the older versions of APK. This versions does not work properly in current conditions, so it is very important for us to deactivate older versions.
I have tried to search for the issue, but could get answers for older Google Play console.
Thanks in advance for any help ...
Regards
Sanjay.
I try in my console, but i still see all older release: App release -> Manage product -> release history. Can you post your image here.
And as you know, each time when new version was released, old version will be deactivated automatically. Are you sure that older android version can get older app version because older version is not deactivated yet ? or because you can't view older app version so you think that it's not deactivated ?
What happens to existing users with the app installed when minSdkVersion is raised and their SDK version is less than that?
Do they still get the update from Google Play with a subsequent crash? Or do they stop getting updates from Google Play?
Below happens on minSdkVersion change
On apk upload, Google plays warns you on minSdkVersion telling how many users will be affected.
Existing users lower than minSdkVersion won't get update and cannot
see app in PlayStore
Existing users lower than minSdkVersion, if they uninstall, cannot
reinstall the application.
I suggest you use multiple apk option in PlayStore and continue to update your newer apk. Just keep the old one as it is.
For example, you can publish your application with one APK that
supports API levels 4 - 7 (Android 1.6 - 2.1)—using only APIs
available since API level 4 or lower—and another APK that supports API
levels 8 and above (Android 2.2+)—using APIs available since API level
8 or lower.
For more, read the android documentation on multiple apk support.
They will not get an update and it won't show up on Google Play for them any more. The version they have installed will remain on their device.
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.
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.