在AndroidManifest.xml中uses-sdk内属性意思

 更新时间:2013年06月19日 17:53:27   投稿:whsnow  
本文为大家讲解下minSdkVersion、targetSdkVersion、maxSdkVersion、target API level四个数值的意思与区别,感兴趣的朋友可以参考下哈

在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。

补充:本站还提供了一个关于Android Manifest功能与权限的在线查询表供大家参考查询:

Android Manifest功能与权限描述大全:

http://tools.jb51.net/table/AndroidManifest

相关文章

  • flutter实现底部导航栏切换

    flutter实现底部导航栏切换

    这篇文章主要为大家详细介绍了flutter实现底部导航栏切换,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-07-07
  • Android编程实现号码归属地查询的方法

    Android编程实现号码归属地查询的方法

    这篇文章主要介绍了Android编程实现号码归属地查询的方法,涉及Android xml文件的发送及WebService的操作技巧,需要的朋友可以参考下
    2016-01-01
  • Android开发自学笔记(三):APP布局上

    Android开发自学笔记(三):APP布局上

    这篇文章主要介绍了Android开发自学笔记(三):APP布局上,本文讲解了添加ViewGroup、添加ViewGroup、定义string内容、添加Button、运行程序查看效果等内容,需要的朋友可以参考下
    2015-04-04
  • Android自定义LinearLayout实现淘宝详情页

    Android自定义LinearLayout实现淘宝详情页

    这篇文章主要为大家详细介绍了Android自定义LinearLayout实现淘宝详情页的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-09-09
  • Android 使用ViewPager实现左右循环滑动及轮播效果

    Android 使用ViewPager实现左右循环滑动及轮播效果

    ViewPager是一个常用的Android组件,不过通常我们使用ViewPager的时候不能实现左右无限循环滑动,在滑到边界的时候会看到一个不能翻页的动画,可能影响用户体验,接下来通过本文给大家介绍Android 使用ViewPager实现左右循环滑动及轮播效果,一起看看吧
    2017-02-02
  • Android开发实现ImageView宽度顶边显示,高度保持比例的方法

    Android开发实现ImageView宽度顶边显示,高度保持比例的方法

    这篇文章主要介绍了Android开发实现ImageView宽度顶边显示,高度保持比例的方法,结合实例形式分析了Android ImageView界面布局及元素属性动态操作两种功能实现技巧,需要的朋友可以参考下
    2018-02-02
  • 在Android中通过Intent使用Bundle传递对象的使用方法

    在Android中通过Intent使用Bundle传递对象的使用方法

    这篇文章主要介绍了在Android中通过Intent使用Bundle传递对象的使用方法,详细介绍Intent使用Bundle传递对象的方法。有需要的可以了解一下。
    2016-11-11
  • Android实现搜索功能并本地保存搜索历史记录

    Android实现搜索功能并本地保存搜索历史记录

    这篇文章主要为大家详细介绍了Android实现搜索功能,并实现本地保存搜索历史记录,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-03-03
  • 详解Android如何实现不同大小的圆角

    详解Android如何实现不同大小的圆角

    在开发过程中,设计常常会有一些比较炫酷的想法,比如两边不一样大小的圆角啦,甚至四角的radius各不相同,对于这种情况我们该怎么实现呢,本文小编就和大家来聊聊,需要的朋友可以参考下
    2023-08-08
  • android:照片涂画功能实现过程及原理详解

    android:照片涂画功能实现过程及原理详解

    这篇文章主要介绍了android:照片涂画功能实现过程及原理,需要的朋友可以参考下
    2014-02-02

最新评论