minsdkversion

简介:

这是设置最小的sdk版本,指定开发的应用最低支持的android系统版本。低于将不能安装使用。

 

android:maxSdkVersion:标明可以运行你的应用的最高API Level版本。这个在Android1.5, 1.6, 2.0 和2.0.1上时,如果应用设置的maxSdkVersion 值低于系统本身使用的API Level,系统将不会允许安装该应用。在系统升级后,新系统会重新校验这个值,如果新系统的API Level高于这个值,新系统会删除你的应用。在高于2.0.1的系统上,安装应用时不会再检验应用中设置的maxSdkVersion值,在系统升级后也不会重新校验这个值。但是在向用户展示可用的应用时,Google Play会继续使用这个属性进行过滤,你的应用在高版本上就不显示出来。这个我们一般不设置。

 

minSdkVersion、targetSdkVersion、targetApiLevel的区别

 

在AndroidMenifest.xml中,常常会有下面的语句:
<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版本相同时,运行效率可能会高一些。

但是,这个设置仅仅是一个声明、一个通知,不会有太实质的作用,比如说,使用了targetSdkVersion这个SDK版本中的一个特性,但是这个特性在低版本中是不支持的,那么在低版本的API设备上运行程序时,可能会报错:java.lang.VerifyError。也就是说,此属性不会帮你解决兼容性的测试问题。你至少需要在minSdkVersion这个版本上将程序完整的跑一遍来确定兼容性是没有问题的。(这个问题确实让人头疼)

在default.properties中的target是指在编译的时候使用哪个版本的API进行编译。

综上,上面的四个值其实是作用于不同的时期:
target API level是在编译的时候起作用,用于指定使用哪个API版本(SDK版本)进行编译。
minSdkVersion和maxSdkVersion是在程序安装的时候起作用,用于指定哪些版本的设备可以安装此应用。
targetSdkVersion是在程序运行的时候起作用,用于提高指定版本的设备上程序运行体验。

这四个数值在程序编译时也没有严格的检查,比如说,你可以将minSdkVersion设置的比maxSdkVersion还大,他会自动忽略掉错误的maxSdkVersion。



本文转自农夫山泉别墅博客园博客,原文链接:http://www.cnblogs.com/yaowen/p/6021302.html,如需转载请自行联系原作者

相关文章
|
Android开发
AndroidStudio快捷键
牙叔教程 简单易懂
112 0
|
IDE API 开发工具
Android 解决65536
前言 65536 关于 64K 参考限制 解决64K限制 对 Android 5.0 及更高版本的 Multidex 支持 Android 5.0 之前的 Multidex 支持 为你的应用程序配置 multidex multidex 库的限制 在主 DEX 文件中声明所需的类 multiDexKeepFile 属性 multiDexKeepProguard 属性 在开发版本中优化 multidex 避免 64K 限制
319 0
|
Android开发 安全 数据格式
Android LocalBroadcastManager 的使用总结
转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/53105494 本文出自【赵彦军的博客】 前言 在Android中,Broadcast是一种广泛运用的在应用程序之间传输信息的机制。
1280 0
|
消息中间件 XML Android开发
|
定位技术 Android开发 UED
|
存储 Android开发 数据安全/隐私保护
|
Android开发 Java 数据格式
Android ScaleDrawable
顾名思义,Android ScaleDrawable实现一个drawable的缩放。写一个例子。 一个线性布局,垂直放几个ImageView,然后依次缩放若干个ScaleDrawable。
689 0