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
Related
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
Recently I read a book about android which says that Starting with august 2019, Google play will only accept apps built using Api 26 or newer. But recently we published android app that has minimum Api level 23 and it is successfully published. Can anyone tell whats the scenario, or the documentation in the book is wrong?
They are not talking about minSdk , they are talking about targetSdk or compileSdk.
Notice that I used "or" because your targetSdk can not be higher than your compileSdk.
When you increment targetSdk number, you have to comply with the new api and rules enforced however using an old compile/target sdk will let you use the features in the same way as they worked in earlier versions (which is one of the root causes of security vulnerablities). That is why they placed the restriction so every app is forced to use 'new way of doing things' rather than old.
For example, Before Android 5.0, permissions were granted when app was installed but then it was changed so now you have to ask permissions on runtime. If you target Sdk api lower than Android 5.0, you don't have to do anything and it will work on newer devices as well. However, if you target api higher than Android 5, you must ask for permissions on runtime or the newer sdk code throws an exception.
What this means is that your target API has to be their minimum (in this case 28), but you can still set your own minimum API to whatever you want to allow backwards compatibility.
When you upload an APK, it needs to meet Google Play’s target API level requirements. Starting August 1, 2019, Google Play requires that new apps target at least Android 9.0 (API level 28), and that app updates target Android 9.0 from November 1, 2019. Until these dates, new apps and app updates must target at least Android 8.0 (API level 26).
https://developer.android.com/distribute/best-practices/develop/target-sdk
I have an app that targets 28, but the min API level I want is 18. It still allows me to upload the app because it targets 28.
It means that you have to set in the build.gradle file
targetSdkVersion 28 //or later
Official doc:
When you upload an APK, it needs to meet Google Play’s target API level requirements. Starting August 1, 2019, Google Play requires that new apps target at least Android 9.0 (API level 28), and that app updates target Android 9.0 from November 1, 2019. Until these dates, new apps and app updates must target at least Android 8.0 (API level 26).
Keep in mind that:
minSdkVersion <= targetSdkVersion <= compileSdkVersion
If you want to have more details about minSdk, targetSdk and compileSdk I suggest you reading this blog.
Recently i got a mail from google to change the targetsdkversion to 26 or above
but i have a question regarding this :
In my console i have around 50 android applications of which there are only 8 apps which are under production(in Live) and the rest apps i have already unpublished it and i will not use it any more (means i will not publish those apps again) so my point is should i need to update the unpublished app to change the targetsdkversion to 26 or above as in mail i got if account has more than 20 apps which are not targetsdkverion 26 it may affect account
please help me what to do
From android docs:
Google Play will require that new apps target at least Android 8.0
(API level 26) from August 1, 2018, and that app updates target
Android 8.0 from November 1, 2018
You don't need to update your production apps until you actually wanted to release new update.
One more important fact:
Configuring your app to target a recent API level ensures that users
can benefit from these improvements, while still allowing it to run on
older Android versions.
If you will not publish those apps again then don't worry for account. Just update apps those are under production
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.