Android编程中manifest中<uses-sdk>

来源:互联网 发布:银行卡换芯片卡通知 编辑:程序博客网 时间:2024/05/16 13:43

每次在查看manifest文档时,对于下面的几个参数不甚了解,现在查看了官方文档。语法是这样的:

    <uses-sdk android:minSdkVersion="integer"              android:targetSdkVersion="integer"              android:maxSdkVersion="integer" />

解释:通过指定API Level的整数值,来描述该应用与不同Android platform的兼容性。
这个元素 是用来指定API Level的(一个整数),而不是SDK或者Android系统的版本号

属性:

android:minSdkVersion

指定该应用能运行的最小API Level,是一个整数。即,如果系统的API Level低于这个指定的值,那么系统将不允许该应用的安装。(如果不指定该属性,则系统会设置其默认值“1”,即表示你的应用将与所有Android版本兼容)

android:targetSdkVersion

该应用的目标API Level,是一个整数。如果不指定,则其默认值为minSdkVersion的值。
这个属性告诉系统,你已经针对这个版本进行了测试,系统不应该为了使你的应用前向兼容而表现出兼容行为。而该应用仍然能在minSdkVersion到targetSdkVersion之间的版本运行。
随着Android随着新版本的更新而更新,某些行为甚至外观可能会有所改变。但是,如果运行平台的API Level比在targetSdkVersion中声明的要高,那么系统可能会表现出兼容行为以确保该应用仍然保持你希望它表现的样子。你指定的targetSdkVersion与该应用运行平台的API level 一致,你就可以让系统不表现这种兼容行为。例如,你可以把这个属性值设为“11”或者更高,这样就可以让你的应用运行在Android 3.0或者更高的时候呈现默认的主题(Holo),同时在大屏设备上运行时,也会关闭屏幕兼容模式(screen compatibility mode)。因为对API Level 11支持也就意味着支持大屏幕。
要想使你的应用跟每个Android发行版一致,你应该增加该属性值来和最新的API Level匹配,然后在相关版本的平台上完整地测试。

android:maxSdkVersion

这种情况好像比较少,只出现在1.5, 1.6, 2.0和2.0.1上,先不说了。

0 0