I'm making an android project, pretty much i'm a noob, i need to make a project which will support the latest version too, but should be compatible with at least 2.3.3 version of android, but when i set my target to 2.3.3, compile with 2.3.3 and minimum to 2.3.3, now when i got to create a blank activity, it says minimum api level 14 required, how to achieve that or i can't make projects for api level below 14, i'm including images to explain it better
is there anyway i can achieve what i want to achieve?
Why are you getting this error message?
The template which you are trying to include in your application uses features (like the actionbar) that requires an API level higher than 14, in the first step of the wizard, you selected 10 and it's < 14 and that's why you are getting this error message.
Resolution:
As you want to develop an application with 2.3 compatibility, select below configurations:
Minimum required SDK: API 10 (2.3.3)
Target SDK: Select any of the platform >= 4.0
Compile with: Select any of the platform >= 4.0
you should set your Min SDK to API 10 and your target SDK to latest android API (currently 19).
set these in your manifest file:
<uses-sdk android:minSdkVersion="10" android:targetSdkVersion="19"/>
Related
Actually I'm new to Android and I built my project targeting version API 25, compile 25, min 25 version, and now i need my app to be accessible for more devices like sdk 14!
I changed min SDK version to 14 and it raised lots of errors.
Note that I'm using RecyclerView, DrawerLayout, FloatingActionbar and BigContentNotification in my application!
I used min SDK 19 and trying to install in android 4.0.4!!
But actually there was some points too:
Use that library's versions that are Compatible (same) with your target api (Recommended)
If you put wrong(Incompatible) versions together, Your application might crash; so it's better to read This first
if i use android 4.1.2 (API 16) Android SDK will my apps work on Android 2.3 phones. i have downloaded android 4.1.2 sdk tools and other packages.
You will need to set the minimum SDK attribute in your manifest to 2.3 to ensure you app will work on earlier versions of the OS.
Your app will work fine, assuming you are not using any API calls from a later version.
The Android Dev team suggests you always compile against the newest version you can support. So, you are on the right track.
So bottom line, you are on the right track, just make sure to test your app against a 2.3.3 version of the emulator to ensure you are not using any un-supported API calls.
No, if your minimum sdk version is 16 it wont work on that android version.
if you want it to work on that specific version then set the minimum sdk version to 9. You can change this in the apps manifest file.
<uses-sdk
android:minSdkVersion="9"
android:targetSdkVersion="21"
/>
If you are getting errors probably saying "This code uses the minimum sdk to be api 16 or higher"
find alternate ways to modify the code for older android phones. If that does not work then dont support old version of android maybe.
When you want to create project through wizard, it asks you enter Project Build Target. Assume that
I want my application to support Android 2.1 and above,
My test devices are a hand phone with Android 2.3.3 and a tablet 7" with Android 3.2.
Is it mandatory to choose "Android 2.1 (API level 7)" in Project build target?
May I set Project Build Target to "Android 4.0.3 (API level 15)"
Manifest:
<uses-sdk android:minSdkVersion="7" android:targetSdkVersion="15"/>
Yes, the project build target SDK version may be higher (but not lower obviously) than the minimum SDK version specified in the Manifest. Just make sure to avoid calling APIs that came in with higher SDK versions than the minimum you specified.
Yes you can. The targetSdkVersion helps the device with higher API level to use the newest (optimized) version of the implementation rather than the default implementation of the minSDKVersion and prevent enabling the compatibility behaviors. Make sure you test on device running this version though.
Ref: targetSdkVersion
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
I am referring to the http://developer.android.com/resources/tutorials/testing/activity_test.html regarding activity testing.
My avd is showing platform-2.3.3 api level-10.
In eclipse when i click on create new android project and select create project from existing source and then browse to the samples\android-8\Spinner it prefill the Min Sdk Version with 3 and when i select the target platform 2.3.3 api level 10 it shows following warning:
The API level for the selected SDK target does not match the Min SDK Version.
I have checked the spinner manifest file it contains
<uses-sdk android:minSdkVersion="3"/>
I have tried different combinations like changed the sample folder and changed the target but it shows the same warning.
I want to know how to rectify the warning so that my sample run?
Please help me on this
min sdk version can be lower than target sdk version.
see this link
The app uses level 10 sdk I guess and the minsdklevel specified is 3 that is the reason for the warning. This warning can be ignored.
You can run the app on any version of android with level >= 3 as long you dont use any api calls which where introduced in level 10.