<uses-sdk android:minSdkVersion="4" android:targetSdkVersion="10" android:maxSdkVersion="10"
/>
default.properties中,会看到下面的语句: target=android-10 使用Eclipse,可能会看到这样的警告
:Attribute minSdkVersion (4) is lower than the project target API level (10)
minSdkVersion、targetSdkVersion、maxSdkVersion、target API level四个数值分别代表什么意思?
minSdkVersion与maxSdkVersion比较容易理解,就是在安装程序的时候,如果目标设备的API版本小于
minSdkVersion,或者大于maxSdkVersion,程序将无法安装,一般来说没有必要设置maxSdkVersion。
targetSdkVersion较为复杂,设置了此属性,那么在程序执行时,如果目标设备的API版本正好等于此数
值,它会通知Android系统:此程序在此版本已经经过充分测试,没有问题。不必为此程序开启兼容性检
查判断的工作了。也就是说,如果targetSdkVersion与目标设备的API版本相同时,运行效率可能会高一
些。但这个设置仅是一个声明、一个通知,没有太实质的作用。
以上所说的四个值其实是作用于不同的时期:
target API level是在编译的时候起作用,用于指定API版本(SDK版本)进行编译。minSdkVersion和
maxSdkVersion是在程序安装的时候起作用,用于指定哪些版本的设备可以安装此应用。
targetSdkVersion是在程序运行的时候起作用,用于提高指定版本的设备上程序运行体验。
这四个数值在程序编译时也没有严格的检查,比如,你将minSdkVersion设置的比maxSdkVersion大,它会
自动忽略掉错误的maxSdkVersion。
----转载请添加原文地址