Some Amazon docs hint that it is 10, but examples run with 8. So what is the correct/safe/practical answer?
It is the minimum SDK requirement for application, App Developers put this variable to not install this app earlier version of device than min SDK version, it is just a safe check, to not install the app on incompatible devices
According to wikipedia http://en.wikipedia.org/wiki/Kindle_Fire the first Kindle Fire was based on Android 2.3.4 which is based on Android SDK version 10. Therefore there is no benefit to use minSdkVersion lower than 10.
If you use minSdkVersion lower than 10 your app will run on all Kindle Fires because new Android versions can run apps written for older Android versions.
However if you specify min SDK version 10 you can use all APIs that is available in the SDK version 10 but is not available in the Android SDK version 8.
Related
My App is available and was accepted. It is only available for new android versions (API level 30). Is there a way after the recent change in November 2021. Is there a way to publish for older versions (API level 28). The big companies like supercell or Voodoo Games still publish for older versions. Do they have special privileges or how does this work?
I think you are confusing the targetSdkVersion and minSdkVersion values.
The minSdkVersion dictates the lowest version of android your app supports. You can ship an app with the latest targetSdkVersion and still support your app on older devices.
Check out the documentation: Android SDK version properties
I did many searches on the web, and only partially I understood what I have to do.
When my IDE (Android Studio) reminded me that are available recent update for android SDK, I provided to install them. Now I notice that the Android-SDK directory occupies 87Gb of HDD memory.
This because are installed all the Android API from older version to the latest new.
Today I decided to delete all the SDK directory and perform a clean installaton of the SDK tool.
What I ask is which are the minimum things that I've to install from the SDK manager to be up and running for Android Development.
Consider that my apps must run from Android API 14 (4.0 IceCream) to the least available API version (currently on October 2017 is API 25).
In addiction I use an Android Emulator with Lollipop 5.1 (API 22).
The last thing I ask is when there is a new available and I would to install it, should I unistall all the older API version to prevent SDK grow up?
This is the screenshot of my Android Studio SKD manager.
As you can see the only checked API is 7.1.1 Nougat API 25.
This is a series of screenshot of package details of SDK Manager
The others are all unchecked.
I have to say that for Android 5.1 Lollipop API 22, check marks appear after I create the Android Emulator with Lollipop Installed.
NB: I need only things for mobile programming, not TV or Wearable.
should I unistall all the older API version to prevent SDK grow up?
Yes you can do this to reduce the space size taken by the SDK
Cons : you will not be able to use instant run if you are running your app on particular device on lollipop and above.
Note : you can drop old version under API 14 as support library has also dropped the support for older version
From docs, Revision 26.0.0 Release (July 2017)
The minimum SDK version has been increased to 14. As a result, many
APIs that existed only for compatibility with pre-14 API levels have
been deprecated. Clients of these APIs should migrate to their
framework equivalents as noted in the reference page for each
deprecated API.
so im working on a small utility app to get started on the play store and ive come across a few issues which has led me up to this
It is forbidden to downgrade devices which previously used M permissions (target SDK 23 and above) to APKs which use old style permissions (target SDK 22 and below). This occurs in the change from version 1 (target SDK 23) to version 2 (target SDK 19).
for a small app like this it would be irritating for it to only be available on newer versions considering it doesnt require much. I cant remove the apk nor can i delete the project entirely so the question is should i just publish it for sdk 23 or should i just leave the project alone and make an entirely new one?
You are mistaken. Target SDK means the latest supported version. But it would still allow applications be installed on newer versions. Min SDK version means the earliest supported version.
If Target SDK is set to 23, and update comes out, which is 24, then app would still work on that device, however, whatever new features SDK 24 brings, won't be available.
You can read more at API Guides
I am getting into Android app development now, what build should I choose as the target SDK and will my app work on higher APIs? Also, is there no API 20 build for KitKat, I only see one for KitKat Wear.
I believe you should set the API to what users have most, based on the latest numbers https://developer.android.com/about/dashboards/index.html?utm_source=ausdroid.net I believe you should set at least API 15 or better 16.
minimum required SDK = lowest version of the android that your app will support(make 10 if you want to target most of the devices, else make 14 or above if you don't want to use support library, good for beginning)
target SDK = you should choose it as latest stable version(choose 19 if you don't want support for android wear also)
compile sdk = 19
API 20 is specifically for applications designed for android wearables.
https://developer.android.com/training/wearables/apps/creating.html#SetupDevice
While creating an android project if i say that the Build Target of my Android porject is 2.2 (API Level is picked as 8) and in the text box for Min SDK version. If i put some value apart from the API level (smaller or greater than 8) of the build target then what happens?
Does the build happen according to the build target specified, but the application developed is compatible with the smaller android versions (if i specify API level < 8 ). Or the application developed is only compatible for the higher android version (if i specify API level > 8 ).
Can anyone please explain?
There is a similiar question already posted with an excellent answer:
Read the post by Steve H.
Android Min SDK Version vs. Target SDK Version
Say you set the manifest API level to 4, then the app will work on any api 4 device provided. BUT the project will be built to API level 8 so if you have any post-level 4 api methods in your code then the app will crash.
You can only put min SDK version less than your target version,it tell that your application can support to that min SDK version,but you should confirm that your application should run under min SDK version supported devices since the Build target versions may use new APIs which are available for that specific version and those APIs may not available in min SDK versions
ok.. if you have developed an application using particular sdk for instance Android 2.2 and your minSDKversion is < 8 then application is falsely declaring to android system that It can be installed in Android device having sdk version less than Android 2.2. In that case if application happens to install on Android 2.1 and if you re using API that are exculsiviely avaialbe in Android 2.2 platform and not on Android 2.1 then your application will crash on the device. if your minsdkversion > 8 then application won't get installed on the device having Android sdk 2.2 or lower version