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
Related
I'm facing an issue while uploading to the play store.
This issue
Your app currently targets API level 30 and must target at least API level 31 to ensure it is built on the latest APIs optimized for security and performance. Change your app's target API level to at least 31".
If Change the target SDK version some of the features are not working.
Is there any solution to upload to the play console without changing the version of the target SDK.
From Google Play guides I notice that from 2 November 2020, app updates must target Android 10 (API level 29) or higher.
When you upload an APK, it needs to meet Google Play’s target API level requirements. New apps must target Android 10 (API level 29) or higher and app updates must target Android 9 (API level 28) or higher.
Every new Android version introduces changes that bring significant security and performance improvements as well as enhance the user experience of Android overall. Some of these changes only apply to apps that explicitly declare support through their targetSdkVersion manifest attribute (also known as the target API level).
It means that my new application version (updated one) could still target Api Level 28 ? Is this allowed only until November 2, 2020 ?
Thanks.
Up to November 1, 2020, you can update your application APK targeting API level 28.
From November 2, 2020, APK updates must target API level 29 i.e. Android 10
Also:
Wear OS apps are not subject to the API level 29 requirement.
Once these requirements come into effect, the Play Console will
prevent you from submitting new APKs using older target API levels.
For more infos:https://support.google.com/googleplay/android-developer/answer/113469#targetsdk
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.
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.
I uploaded a new beta testing version with Android target api level 23. Before it was 22. I did not know, that with API Level 23 there are many changes regarding permissions. I realized that after uploading the new beta testing version with api level 23. So i build a new Version which was using api level 22 again to have more time to adapt my app to api level 23.
But every time now when i do upload a version with api level 22, i get an error in developer console "app could not be saved" with no more information about the error and i can not upload it. When I compile a new version with target API Level 23 it can be uploaded again. I think the problem is the downgrade to api Level 22.
Is it true, that once you published an API Level 23 version in closed beta testing, you can not downgrade back to target API Level 22?
Thanks for your help!
Smilingm
message from Developer Console:
Android N final SDK available
You can now use the Developer Console to publish apps that target Android N devices (API level 24) to your production, alpha, and beta channels. Keep in mind that once you publish an APK targeting API level 23 or higher, you won't be able to submit an update targeting API level 22 or lower on any channel. 2016 Jun 15
Yes it is true.
You can not downgrade back to target API Level 22.