80、Android Support v4、v7、v13的区别以及应用场景

一、简介

在 Android 开发中,为了使用高版本API的新特性,需要添加额外的包来使用这些新特性,这就是 Android Support 包

二、分类

  • Android Support v4: 这个包是为了照顾Android 1.6及以上版本而设计的,在开发中,默认都会使用到这个包
  • Android Support v7: 这个包是为了照顾Android 2.1及以上版本而设计的,但是不能兼容低版本 Android 系统,如果开发中不考虑 1.6 ,可以采用这个包。另外要注意的是,v7 包是依赖 v4 包的,即引入 v7 包的话要同时引入 v4 包
  • Android Support v13: 这个包是为了照顾Android 3.2及以上版本而设计的,一般开发中不会用到,平板开发可能会用到

三、额外问题

1、查看V4包的源码

在大部分开发中,开发工具会自动将 v4.jar 引入到项目中,但是无法查看 v4.jar 的源码

解决方案:
将SDK中的 /extras/android/support/v4 目录下的jar包添加到工程中,引入源码。

2、eclipse 开发中自动生成 appcompat_v7 库项目报错

在上面有说到 v7 包是为了照顾Android 2.1及以上版本,使其可以使用高API的新特性

假设在 eclipse 中创建项目时最低 sdk(Minimum Required Sdk)选择了 api14 以下,而编译版本(Compile Sdk)又选择了高于 api14 的版本,此时为了能使用新特性,eclipse会自动创建 appcompat_v7 库项目,并将其引用到项目中
很多初学者在此时很容易出现错误,eclipse 找不到资源,原因是因为目标sdk(Target Sdk)低于 sdk 环境中的最高版本(即你自己下载的sdk的最高的版本)

解决方案:

  • 方案一:将目标sdk(Target Sdk)设为已下载的最高版本,此时依旧会自动创建 appcompat_v7 库项目,并将其引用到项目中,但是不会再报错了

  • 方案二:将最低 sdk(Minimum Required Sdk)设为高于 api14 的版本。这时, eclipse 不会创建 appcompat_v7 库项目,因为 api14 以上的android版本不需要依赖该库项目来使用新特性。

上一篇:Codeforces Round #367 (Div. 2) C. Hard problem


下一篇:【转】Android Support v4、v7、v13的区别和应用场景