page.title=Support Package @jd:body
Minimum API level supported: 4
The Support Package includes static "support libraries" that you can add to your Android application in order to use APIs that are either not available for older platform versions or that offer "utility" APIs that aren't a part of the framework APIs. The goal is to simplify your development by offering more APIs that you can bundle with your application so you can worry less about platform versions.
Note: The Support Package includes more than one support library. Each one has a different minimum API level. For example, one library requires API level 4 or higher, while another requires API level 13 or higher (v13 is a superset of v4 and includes additional support classes to work with v13 APIs). The minimum version is indicated by the directory name, such as {@code v4/} and {@code v13/}.
The sections below provide notes about successive releases of the Support Package, as denoted by revision number.
Support Package, revision 6 (December 2011)
Note: Reference for support library APIs are now available with the framework references, for example: {@link android.support.v4.app}.
Support Package, revision 5 (December 2011)
Support Package, revision 4 (October 2011)
EdgeEffectCompat
to
support {@link android.widget.EdgeEffect}.LocalBroadcastManager
to allow applications to easily
register for and receive intents within a single application without
broadcasting them globally.ViewCompat
to check for and set overscroll
modes for {@link android.view.View}s on Android 2.3 and later.FragmentActivity
to retain custom,
non-configuration instance data.Compatibility Package, revision 3 (July 2011)
These are exactly the same as the APIs added to the v4 support library, but rely on other platform components in Android 3.2. Use this library instead of v4 if you're developing for Android 3.2 and higher (all other APIs in the v4 library are already available with API level 13).
Compatibility Package, revision 2 (May 2011)
Compatibility Package, revision 1 (March 2011)
Initial release with the v4 library.
The Support Package is provided as a downloadable package from the Android SDK and AVD Manager. To install:
From Eclipse, you can select Window > Android SDK and AVD Manager. Or, launch {@code SDK Manager.exe} from the {@code <sdk>/} directory (on Windows only) or {@code android} from the {@code <sdk>/tools/} directory.
When done, all files (including source code, samples, and the {@code .jar} files) are saved
into the <sdk>/extras/android/support/
directory. This directory contains
each of the different support libraries, such as the library for API level 4 and up and the library
for API level 13 and up, each named with the respective version (such as {@code v4/}).
To add one of the libraries to your Android project:
For example, the library that supports API level 4 and up is located at {@code <sdk>/extras/android/support/v4/android-support-v4.jar}.
In Eclipse, right-click the JAR file in the Package Explorer, select Build Path > Add to Build Path.
Your application is now ready to use the library APIs. All the provided APIs are available in the {@code android.support} package (for example, {@code android.support.v4}).
Tip: To see the library APIs in action, take a look at the sample apps in {@code <sdk>/extras/android/support/<version>/samples/}.
Warning: Be certain that you not confuse the standard {@code android} packages with those in {@code android.support} library. Some code completion tools might get this wrong, especially if you're building against recent versions of the platform. To be safe, keep your build target set to the same version as you have defined for your {@code android:minSdkVersion} and double check the import statements for classes that also exist in the support library, such as {@code SimpleCursorAdapter}.
The support library for v4 provides access to several classes introduced with Android 3.0 and beyond, plus some updated version of existing classes, and even some APIs that currently don't exist in the Android platform. Some of the most useful and notable classes that have counterparts in the v4 support library are:
For each of the classes above (and others not listed), the APIs work almost exactly the same as the counterparts in the latest Android platform. Thus, you can usually refer to the online documentation for information about the supported APIs. There are some differences, however. Most notably:
public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.options, menu); MenuCompat.setShowAsAction(menu.findItem(R.id.action_search), 1); return true; }
Also see the Action Bar Compatibility sample for a demonstration of how to use {@link android.app.ActionBar} on Android 3.0+ and also support action bar functionality on older versions.
Tip: To enable the Holographic theme on devices running Android 3.0 or higher, declare in your manifest file that your application targets API level 11, for example:
<uses-sdk android:minSdkVersion="4" android:targetSdkVersion="11" />
This way, your application automatically receives the Holographic theme and the Action Bar for each activity when running on Android 3.0 and higher.
For more information about how you can optimize your application for the latest Android-powered devices, read Optimizing Apps for Android 3.0.
The reference documentation for the Support Packages is included as part of the Android online developer documentation:
If you want to see some code that uses the support libraries, samples are included with the Support Package, inside each support library directory, for example; {@code <sdk>/extras/android/support/v4/samples/}. You can also view these samples as part of the Android online developer documentation:
Additionally, the Google I/O App is a complete application that uses the v4 support library to provide a single APK for both handsets and tablets and also demonstrates some of Android's best practices in Android UI design.