I have an app which currently supports Android API 17 and above.
My new version requires some calls that were added in API 19. I have finished coding and am ready to release my new version...but only for API 19 and above. I intend to support API 17, but it will take me a little while to write that code.
I would not like to hold up the release my app for my API 19 customers.
If I upload an APK with minimum SDK level set to 19, then I know that my customers with API < 19 will not be able to upgrade. However, if I later upload another APK with my min API now set back to 17 again, will the API < 19 installations be able to "skip" the first APK version and upgrade to the next version that supports their device?
Yes, you can change the minSDK version after the app is published to play store.
Also you need to upgrade the versionCode in build.gradle file higher than the current play store version code.
Once you upload the new apk with minSDK set back to 17, user with API< 19 will also be able to download the updated app.
Related
Versions 1 to 3 of my app in Google Play have minSdkVersion = 15.
Then, when I published version 4, I changed minSdk to 16. Google Play Console automatically kept version 3 active for users with Android API = 15, with was quite sensible.
In version 57 I chagned minSdk once again, and set it to 26. I expected version 56 (with minSdk = 16) would be still active for users with Android API between 16 and 25. But it didn't happen and version 56 was deactivated automatically.
Now, there are two code versions active:
version 3 for users with Android API < 26
version 57 for users with Android API >= 26
My aim is to have version 56 available for users with Android API from 16 to 25, but I have no idea how to change activity of code versions in Google Play Console. Is it even possible?
Thank you
(I never though PlayStore keeps active an old version for very old SDK users...it's strange Google does it because if you release a newer version it should be take in count about old users in your new code and not by a complete old and separated version.)
At this time you can't change something of previous releases. Unfortunately PlayStore doesn't more accept updates that targets SDK<26 so the only think you can do is take in count SDK between 16 and 25 in your code while targetting 26+.
If my App has minSDKVersion = 16 and TargetSDKVersion = 28, then will Google somehow upgrade my App to work with devices which use sdk version greater than 28?
And if the same is true for all future versions of SDK then if I dont update my app meanwhile?
Please excuse me as my English is not good. Thanks.
Google never ever updates your apps for the latest SDK, you have to do it yourself and publish again. I know its a pain when google play console frequently changes requirements to support certain Target API Level but its the pain you have to endure. TargetSDKVersion is the last SDK / API which your app will support.
No, you will need to do an update by changing your targetSDK from your build.gradle file, then make the required changes in your code to work with that API level and you can upload an update.
The Playstore will not update it automatically, that's why it's called targetSDKVersion, it will just be available from SDK 16 until the target one, 28.
Google recently announced, that "updates to apps and games on Google Play will be required to target Android 9 (API level 28) or higher". As far as I understand, this does not have any negative consequences (like, the apps are removed from store) to existing apps with a targetSdkVersion lower than 28. Is this true? So, what google wants to say is just that I'm no longer able to update existing apps with targetSdkVersion < 28?
Last year Google notified developers to upgrade your Apps which should be at least API-LEVEL 26.
Now same thing we have to do upgrade API-Level, existing applications will not stop or removed but new builds we can not publish on play store which are below> API Level 28.
Yes you are right, starting from November 1 Google won't allow you to submit to console if the target is less than 28
When I try to upload my signed APK with target API level 23 I receive this error:
Your app's current target API level is 23, but the minimum target API level must be 26 to ensure that the app is based on the latest APIs optimized for security and good performance. Change the target API level of your app to at least 26.
But if I rebuild with target API level 26 I receive this error:
This version cannot be implemented because it does not allow existing users to upgrade to the latest APKs added.
How can I ignore users upgrade?
The error:
This version cannot be implemented because it does not allow existing users to update to the latest APKs added.
It was caused by a lower version code than the one currently in production and was unrelated to the API version. I have increased the version number and I can safely use the API level 26
I tried to submit my updated application to playstore. When I tried upload the apk on production, there was notice saying
Play Store will require that new apps and app
updates target a recent Android API level. This will be required for
new apps in August 2018, and for updates to existing apps in November
2018. This is to ensure apps are built on the latest APIs optimized for security and performance.
Currently, my application was set minSDKVersion 19 and targetSDKVersion as 23.
Does that mean I have to update my application to targetSDKVersion 26?
I have tried to change this and upload it. I seems to have error saying about the downgrade (Sorry I should have make a note of the message).
Does that mean I have to update my application to targetSDKVersion 26?
Yes. But for now its just a warning, it will enforced from beginning of August for new apps. Do take note that deadline for app update is November.
have tried to change this and upload it. I seems to have error saying
about the downgrade
Since you don't have complete error message, one probable cause of this issue is, you are trying to upload an app which has VersionCode less than the app available on play store. Re-check your version code and increase it if needed.
August 2018: New apps required to target API level 26 (Android 8.0) or
higher.
November 2018: Updates to existing apps required to target API level 26 or higher.
2019 onwards: Each year the targetSdkVersion
requirement will advance. Within one year following each Android
dessert release, new apps and app updates will need to target the
corresponding API level or higher.
source: https://android-developers.googleblog.com/2017/12/improving-app-security-and-performance.html