1、appcompat_v7包的由来?

appcompat_v7是Google提供的向下兼容包,是针对API level 7(Android2.1)及以上版本所开发的,其作用是为了让兼容低版本API(minSdkVersion>7)的应用可以使用高版本API的功能和效果。主要是可以使用API level 11(Android3.0)的新特性,例如对ActionBar、SearchView、PopupMenu等控件的支持,这些控件都是在Android3.0后引入的,如果你的应用是需要兼容低版本API,那么为了在低版本的设备上可以使用这些控件的效果,就必须在你的工程中使用appcompat_v7兼容包。

2、appcompat_v7包所在位置和相关文件介绍?

appcompat_v7包的相对路径位于sdk\extras\android\support\v7(sdk指你的Android SDK所在文件夹,我的绝对路径是D:\Dev_Software\Android\sdk\extras\android\support\v7),可以看到如图下appcompat文件夹即appcompat_v7,v7目录下其他文件夹如cardview、gridlayout等,是v7支持库提供的其他兼容包,这些兼容包都是一些jar文件和资源文件。v7包是依赖于v4包的,和v4不同点在于,v4包将许多功能集中于同一个jar文件,而谷歌为了低版本的兼容性,就会将新版本出现的新的特性更新到v7支持库中,导致v7包中有许多的jar文件。因此,在你的工程导入v7包时,需要注意,避免导入不需要的功能。打开appcompat文件夹下的.project文件,可以看到appcompat_v7这个依赖库的实际名字为android-support-v7-appcompat

3、关于eclipse新建项目会自动创建appcompat_v7依赖库并报错的原因?

在ADT版本更新至22.6.0后,每次新建工程eclipse就会自动添加appcompat_v7。旧版ADT并不会自动添加appcompat_v7。ADT自动添加的appcompat_v7和sdk\extras\android\support\v7\appcompat路径下的兼容包实质是同一个依赖库。你可以打开eclipse工作区间,进入appcompat_v7所在目录下,打开.project文件,会发现.project文件的name标签值也是android-support-v7-appcompat。当你新建工程完成后,你的工程和ADT自动添加的appcompat_v7都出现了错误提示,可以手动修改你的工程和appcompat_v7目录下的project.propertiest文件中target的值为你所下载的最新sdk,例如target=android-23,修改完成后,手动选择Project-Clean,将你的工程和appcompat_v7依赖库clean下即可。

关于appcompat_v7兼容包的详细说明的更多相关文章

  1. Android MultiDex兼容包怎么使用?

    在Android系统中安装应用的时候,需要对Dex进行优化,但由于其处理工具DexOpt的限制,导致其id的数目不能够超过65536个.而MultiDex兼容包的出现,就很好的解决了这个问题,它可以配 ...

  2. Google的兼容包问题【转】

    转自:http://blog.sina.com.cn/s/blog_3e28c8a50101g14g.html 项目之前好好的,今天开Eclipse,,出错. 错误Error retrieving p ...

  3. Android SDK中的Support兼容包详解

    这篇文章主要介绍了Android SDK中的Support兼容包详解,本文详细区分了Support Library的版本区别.各种Theme的概念和使用注意事项等内容,需要的朋友可以参考下 背景 来自 ...

  4. Eclipse导入 appcompat,design兼容包

    从Android studio推出1.0正式版后,就一直在as上开发项目,但是最近要测试一个项目,是eclipse结构,导入as后,是各种报错信息,决定改成eclipse. 其中项目中用到了ppcom ...

  5. 在Eclipse添加Android兼容包( v4、v7 appcompat )

    昨天添加Android兼容包,碰到了很多问题,在这里记录一下,让后面的路好走. 如何选择兼容包, 请参考Android Support Library Features(二) 一.下载Support ...

  6. Android兼容包multidex的开发和构建方法

    在Android开发中,函数方法超过65k限制后,我们就常常会用到multidex分包解决,但是multidex的配置,对系统apk的构建.签名.打包复杂性大大的增加,严重的降低了构建效率.那这个问题 ...

  7. R语言-Knitr包的详细使用说明

    R语言-Knitr包的详细使用说明 by 扬眉剑 来自数盟[总舵] 群:321311420 1.相关资料 1:自动化报告-谢益辉 https://github.com/yihui/r-ninja/bl ...

  8. android v7兼容包RecyclerView的使用(四)——点击事件的不同方式处理

    前三篇文章 android v7兼容包RecyclerView的使用(三)--布局管理器的使用 android v7兼容包RecyclerView的使用(二) android v7兼容包Recycle ...

  9. ubuntu 13.04 64位安装32位兼容包

    未安装32位兼容包,编译出现未找到指定目录下gcc命令,则安装兼容包:sudo apt-get install ia32-libs 若提示:不能安装,与相关软件冲突,则按如下安装: 在网上找到更新源, ...

随机推荐

  1. linux下安装telnet

    1:yum install telnet-server 2:编辑设置 /etc/xinetd.d/telnet ,将disable= yes设置成disable= no 3:service  xine ...

  2. 搭建es6开发与非开发环境babel-browser

    前言 最近打算把es6应用到项目中,但是如何在开发环境(浏览器端)直接运行es6?es6已经发布一段时间了,现在大部分是在node.js环境运行,或者通过babel编译之后运行.babel-brows ...

  3. jq和js插件的各个文件夹里放置的内容

    1. demo文件夹,存放各种实例. 2. dist文件夹,全称是distribution.在某些框架中,因为开发和发布的内容或者代码形式是不一样的(比如利用Grunt压缩等等),这时候就需要一个存放 ...

  4. Array和ArrayList的区别与联系

    博主今天去了一个java的实习面试,发现有好多java最基础的数据结构对于博主来说反而感到陌生,在面试官问一些常见的例如HashMap这样的数据结构,博主能回答的头头是道,但是在问到Array和Arr ...

  5. 容器如何访问外部世界?- 每天5分钟玩转 Docker 容器技术(36)

    前面我们已经解决了容器间通信的问题,接下来讨论容器如何与外部世界通信.这里涉及两个方向: 容器访问外部世界 外部世界访问容器 容器访问外部世界 在我们当前的实验环境下,docker host 是可以访 ...

  6. c#重起 普通路由器

    using DotNet.Utilities;using System;using System.Collections.Generic;using System.Linq;using System. ...

  7. Universal asynchronous receiver transmitter (UART)

    UART基本介绍: 通用异步收发器UART他的功能非常强大 我们只使用UART的全双工异步通信功能,使用中断接收数据. UART_RX:串行数据输入. UART_TX:串行数据输出. 硬件支持: 连接 ...

  8. 关于JAVA正则匹配空白字符的问题

    今天遇到一个字符串,怎么匹配空格都不成功!!! 我把空格复制到test.properties文件 显示“\u3000” ,这是什么? 这是全角空格!!! 查了一下    \s    不支持全角 1.& ...

  9. [基础架构]PeopleSoft Process Scheduler 重要文件说明

    我们都知道PeopleSoft是由几个不同的服务组成的,他们在PeopleSoft体系结构中扮演着自己的角色.这些服务具有不同的文件结构并包含重要的可执行文件和配置文件. 以下是Peoplesoft体 ...

  10. 优雅的封装ajax,含跨域

    之前写过一篇 先定一个小目标,自己封装个ajax,是基于原生js的,也就是jquery中ajax的简化版本实现的思路.众所周知,jquery的ajax是项目中最常用的请求后台的方式,也算是封装的很完美 ...