<uses-sdk android:minSdkVersion="integer" android:maxSdkVersion="integer" android:targetSdkVersion="integer" />
<manifest>
Despite its name, this element is used to specify the API Level, not the version number of the SDK (software development kit). The API Level is always a single integer; the SDK version may be split into major and minor components (such as 1.5). You cannot derive the API Level from the SDK version number (for example, it is not the same as the major version or the sum of the major and minor versions).
For more information, read about Android API Levels and Versioning Your Applications.
android:minSdkVersion
Prior to installing an application, the Android system checks the value of this attribute and allows the installation only if it is less than or equal to the API Level used by the system itself.
If you do not declare this attribute, then a value of "1" is assumed, which
indicates that your application is compatible with all versions of Android. If your
application is not universally compatible (for instance if it uses APIs
introduced in Android 1.5) and you have not declared the proper minSdkVersion
,
then when installed on a system with a lower API Level, the application
will crash during runtime. For this reason, be certain to declare the appropriate API Level
in the minSdkVersion
attribute.
android:maxSdkVersion
Prior to installing an application, the Android system checks the value of this attribute and allows the installation only it is greater than or equal to the API Level used by the system itself.
Introduced in: API Level 4
android:targetSdkVersion
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.
Introduced in: API Level 4