在AndroidManifest.xml中,有uses-sdk这样一个节点,有三个属性分别是:android:minSdkVersion,android:targetSdkVersion,android:maxSdkVersion但是大家未必全知道是什么意思,网上也没说清楚,现在根据我的开发给大家梳理一下这点知识:

android:minSdkVersion:指明应用程序运行所需的最小API level。如果不指明的话,默认是1。什么意思,就是说如果用户的机器的android版本少于这个值,是不能安装这个程序的,例如:android:minSdkVersion="14"即android4.0,如果你把这个apk安装在android:minSdkVersion="10"即android2.3.3那是不能安装的。如果是在google play上,是不会显示这个应用的,直接过滤掉了。

android:targetSdkVersion:标明应用程序目标API Level的一个整数。如果不设置,默认值和minSdkVersion相同。什么意思,就是说你的应用的目标版本是哪个,例如在android3.0一下是有menu键的,但是在android4.0以上是没有menu键的,比如你设置的菜单,通过menu键呼出,那么你的android:targetSdkVersion就应该设置为11以下,不然的话就会不兼容android3.0以上的版本,你就没有地方呼出menu菜单了,看图:

设置android:targetSdkVersion="10"时的效果是:

Android中minSdkVersion、targetSdkVersion、maxSdkVersion的作用_第1张图片

如果设置为android:targetSdkVersion="11"则效果为:Android中minSdkVersion、targetSdkVersion、maxSdkVersion的作用_第2张图片

这个时候我们就没得地方来呼出菜单,所以这个时候设置android:targetSdkVersion就很有用。

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

希望对大家有帮助!!!

更多相关文章

  1. android基础知识15:获得android系统信息02—安装包大小
  2. 【Android】MVC模式在Android系统中的应用
  3. 【Android Studio】Android Studio和Gradle版本兼容性说明
  4. android系统本身的图片资源
  5. Android7.0升级版本适配问题
  6. Android 系统级应用守护进程
  7. Android RatingBar自定义替换系统图片

随机推荐

  1. Android中的lcd_density设置
  2. EditText的输入限制设置
  3. 设置EditText可点击但是不可编辑
  4. Android事件分发机制练习---打造属于自己
  5. 系出名门Android(7) - 控件(View)之ZoomC
  6. Android(安卓)Fragment viewPage TabLayo
  7. 【引用】Android的CTS测试
  8. Android触摸屏事件派发机制详解与源码分
  9. Android(安卓): 网络版学生系统
  10. adb pm 指令介绍