I'm having problems finding the 2.3.4 sdk in the Android SDK Manager download list. I updated the SDK tools to r11 and my platform-tools to r5 but 2.3.4 won't show up. Is there something I'm missing?
Check out Android 2.3.4
API Level
"The Android 2.3.4 platform does not increment the API level — it uses the same API level as Android 2.3.3, API level 10.
To use APIs introduced in API level 10 in your application, you need compile the application against the Android library that is provided in the latest version of the Google APIs Add-On, which also includes the Open Accessory Library.
Depending on your needs, you might also need to add an android:minSdkVersion="10" attribute to the element in the application's manifest. If your application is designed to run only on Android 2.3.3 and higher, declaring the attribute prevents the application from being installed on earlier versions of the platform.
For more information about how to use API Level, see the API Levels document."
Google didn't release 2.3.4 into the SDK because it contains only bug-fixes. It doesn't add or change any APIs, so there is no need for an update on 2.3.3.
Related
I was following setup guide for android in react-native documentation
and have it up and running correctly using suggested SDK v23
However there are much newer SDK versions available, I would like to set v23 as a minimum SDK version, but use latest one as my main one.
Being new to android I'm not sure on how to achieve this, what steps should I take? I can see option to edit sdk versions in some xml files and can download latest one using Android Studio.
As a side note, what are my limitations of using SDK v23? Will it not work on newer devices, do I loose out on performance etc... ?
According to some sources React Native does support up to API level 25, but there seems to be some disagreement on the issue. So according to official sources, React Native only supports Android API level 16 to level 23.
I haven't used React Native myself, but assuming versioning works the same as native development, an application with a compileSdkVersion lower than the version it is running against will run fine. The only limitations on the application would be that it would be unable to access the new features and APIs introduced by those higher SDK versions.
For example, Android 8.0 (API level 26) introduced a new Picture-in-Picture API, but the method used to enter picture-in-picture mode would not be available in code compiled against API level 23. Some new features may effect performance (usually positively), but an application compiled against API level 23 won't perform any worse on on a device running on API 26 than one running on API 23.
While developing an andriod application in Eclipse IDE, the target level is set to 4.4 and I am not getting any option of lower levels of andriod. If I start building the add on higher version.. will my app is executable in lower version devices ?
check your SDK manager, do you have other API version
your app will executable in your minimum SDK setting in your app
http://developer.android.com/guide/topics/manifest/uses-sdk-element.html
I have just downloaded the latest SDK version from Android SDK Manager and set my App's Project Build Target to Google APIs level 17 as below
And added in my App's AndroidManifest.xml as below
<uses-sdk
android:minSdkVersion="3"
android:targetSdkVersion="17"
android:maxSdkVersion="17" />
And loaded the Emulator with Level 8, 2.2 then tried to launch the App on this Emulator. Whenever I run the app it says "No compatible targets were found" (I know I can create AVD for level 17 but want to launch on emulator level 8) when I have android:minSdkVersion="3" in my AndroidManifest.xml.
I researched a lot and did not find a proper answer to this.
Then I changed the Project Build Target to Android 4.2 level 17 as below
The App started launching on all the Emulators below level 17.
But I still don't know what is restricting the App to launch on lower version Emulator when the Project Build Target is to Google APIs level 17
Google APIs Add-On is an extension to the Android SDK development environment that lets you develop applications for devices that include Google's set of custom applications, libraries, and services. A central feature of the add-on is the Maps external library, which lets you add powerful mapping capabilities to your Android application.
Enabling Google APIs lets you use features that are not present in default Android devices. Since your minSdkVersion is set to 3, you should be able to launch the application if you create an emulator with API version greater than 3 but with Google APIs enabled.
Just remove the targetSDKVersion attribute and then try.
An integer designating the API Level that the application is targetting.
With this attribute set, the application says that it is able to run on older versions (down to minSdkVersion), but was explicitly tested to work with the version specified here. Specifying this target version allows the platform to disable compatibility settings that are not required for the target version (which may otherwise be turned on in order to maintain forward-compatibility) or enable newer features that are not available to older applications. This does not mean that you can program different features for different versions of the platform—it simply informs the platform that you have tested against the target version and the platform should not perform any extra work to maintain forward-compatibility with the target version.
https://stackoverflow.com/a/4568358/760489
try removing android:maxSdkVersion
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.
I'm downloading Android SDK , and want to know if Android's APIs has compatibility with its
Previous versions ? i.e. if i installed Android API 16 can I use the application on
Android 4.0 (API 14) ?
You can run older API versions on newer systems, but not vice-versa. For example Android 4.0 can run programs made for Android 2.3.3, but Android 2.3.3 can't run Android 4.0 programs.
You have to define a minimum sdk level in your android manifest. Every version from this upwards supports the app. You can only use classes and language elements that are supported by this specified version.
This is controlled by the following in your manifest file:
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="15" />
This means:
1) your app won't run on any Android whose version < 8.
Android OS whose version < 8 will not let your app be installed.
2) Your app is using Android API as of Android version 15.
In your code you can, however, check the Android version (using Build.VERSION.SDK_INT) and if it is < 15 then do not run certain code.
This is often done so the app can use newer features if run on newer Android versions yet it can run on older versions as well.
Not all components are backwards compatible, but for backwards stuff, look at the following
I found the most useful library out there for making an android app backwards compatible.
Its called Actionbarsherlock, it gives you all android 4.1+ functionality all the way back to 2.1 (what i am developing as a min version)
Its fairly simple to use, very well explained on their website:
http://actionbarsherlock.com/
Enjoy