Discrepancy in getting started docs regarding SDK versions to install
Working my way through the Getting started In the Kindle Fire Development Resources located at
https://developer.amazon.com/sdk/fire.html There are some conflicting instructions. In the setting up your environment section it recommends not installing anything from 4.2(API 17) or 4.1.2 (AP I16) In the Creating your first app section it recommends compiling and targeting 4.1.2. (API 16) If I attempt to follow the directions literally, I'm not able because 4.1.2 isn't installed and can't be selected as target or a compiler for a new Android Application Project. My Question is. Should I install the SDK for 4.2 (API 17) because it's the most recent, install SDK 4.1.2 (API 16) because that's what shown, or just change the target and compiler to 4.0.3 (API 15) because that's what works with the newest Kindle Fires. I think, I should always use the most recent (SDK 4.2 API 17 at the moment) as the target and compiler settings. Disregard the outdated project settings screenshot, and ignore the unhelpful hint about unselecting everything not listed. Will this course of action cause me problems down the road? Details of the discrepancy listed below for anyone that might be interested Prepare -> Setting Up Your Development Environment (
https://developer.amazon.com/sdk/fire/setup.html) In the section dealing with Android SDK Manager it recommends you install the following with the following tip Tip: To avoid an unnecessarily long download, make sure any packages other than those specified below are not selected (clear the check boxes for the other items that may be selected by default). Tools > Android SDK Tools: version 21 Tools > Android SDK Platform-tools: version 16 SDK Platform Android 4.0.3 API 15 > SDK Platform SDK Platform Android 4.0.3 API 15 > ARM EABI v7a System Image SDK Platform Android 4.0.3 API 15 > Kindle Fire (2nd Generation) SDK Platform Android 4.0.3 API 15 > Kindle Fire HD 7" SDK Platform Android 4.0.3 API 15 > Kindle Fire HD 8.9" SDK Platform Android 2.3.3 API 10 > SDK Platform SDK Platform Android 2.3.3 API 10 > Kindle Fire Extras > Kindle Fire USB Driver (Not applicable for Mac OS X.) Extras > Kindle Fire Device Definitions Extras > Android Support Library In the screenshot showing the selections checked it clearly shows that Android 4.2 (API 17) and Android 4.1.2 (API 16) are available however they are collapsed and it's not known if any of their options are selected or not. Build ->Creating Your First Kindle Fire App (
https://developer.amazon.com/sdk/fire/create-app.html) It recommends Creating a new Android Application Project according to the screenshot which shows Minimum Required SDK = API 8: Android 2.2 (Froyo) Target SDK = API 16: Android 4.1 (Jelly Bean) Compile With = API 16: Android 4.1 (Jelly Bean)
The installation guide gives the minimum packages required to start your development for Kindle Fire and thus we have provided a tip to select only basic required packages to avoid unnecessarily long download time. The sample program shown in CreateApp link is just to show you the example fields and the minimum and maximum SDK that you can select. In the "Minimum Required SDK", Android 2.2 is displayed and in the "Target SDK", Android 4.1 is selected. Minimum Required SDK is the lowest version of Android that your app supports, indicated using the API level. To support as many devices as possible, you should set this to the lowest version available that allows your app to provide its core feature set. Target SDK indicates the highest version of Android (also using the API level) with which you have tested with your application. As new versions of Android become available, you should test your app on the new version and update this value to match the latest API level in order to take advantage of new platform features. Compile With is the platform version against which you will compile your app. By default, this is set to the latest version of Android available in your SDK. Android version depends on the device you are targeting for your app and it does not restrict you to download the most recent one.
@HeggonBadde I think you make a good point here. The normal advice is to download the latest version of Android then set minSDKversion to target the largest range of Android devices possible depending on what function calls your app actually makes. I think it is misleading to say that Android 4.0.3 *must* be installed to target Kindle Fire HD and this will lead to developers unnecessarily installing multiple version of Android and having to reconfigure existing projects. AFAIK, an app compiled against Android 4.2 (latest) will run fine on Kindle Fire and Kindle Fire HD provided minSDKversion is low enough Please correct me if this is wrong, someone!
@Simpleinteractive, Kindle Fire HD supports packages available in Android version 4.0.3. When you set the minSDKVersion to target any android version below this and build you app using a higher version, it means that your app will even be supported by Android version 4.0.3 and thus it will be supported by Kindle Fire HD. However you must test your app with Android version 4.0.3 (for making it available on KF HD) to make sure it works on this version and any changes between the minimum version and this version does not affect your app (even if you are using features available in lower versions only).