关于appcompat_v7兼容包的详细说明
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兼容包的详细说明的更多相关文章
- Android MultiDex兼容包怎么使用?
在Android系统中安装应用的时候,需要对Dex进行优化,但由于其处理工具DexOpt的限制,导致其id的数目不能够超过65536个.而MultiDex兼容包的出现,就很好的解决了这个问题,它可以配 ...
- Google的兼容包问题【转】
转自:http://blog.sina.com.cn/s/blog_3e28c8a50101g14g.html 项目之前好好的,今天开Eclipse,,出错. 错误Error retrieving p ...
- Android SDK中的Support兼容包详解
这篇文章主要介绍了Android SDK中的Support兼容包详解,本文详细区分了Support Library的版本区别.各种Theme的概念和使用注意事项等内容,需要的朋友可以参考下 背景 来自 ...
- Eclipse导入 appcompat,design兼容包
从Android studio推出1.0正式版后,就一直在as上开发项目,但是最近要测试一个项目,是eclipse结构,导入as后,是各种报错信息,决定改成eclipse. 其中项目中用到了ppcom ...
- 在Eclipse添加Android兼容包( v4、v7 appcompat )
昨天添加Android兼容包,碰到了很多问题,在这里记录一下,让后面的路好走. 如何选择兼容包, 请参考Android Support Library Features(二) 一.下载Support ...
- Android兼容包multidex的开发和构建方法
在Android开发中,函数方法超过65k限制后,我们就常常会用到multidex分包解决,但是multidex的配置,对系统apk的构建.签名.打包复杂性大大的增加,严重的降低了构建效率.那这个问题 ...
- R语言-Knitr包的详细使用说明
R语言-Knitr包的详细使用说明 by 扬眉剑 来自数盟[总舵] 群:321311420 1.相关资料 1:自动化报告-谢益辉 https://github.com/yihui/r-ninja/bl ...
- android v7兼容包RecyclerView的使用(四)——点击事件的不同方式处理
前三篇文章 android v7兼容包RecyclerView的使用(三)--布局管理器的使用 android v7兼容包RecyclerView的使用(二) android v7兼容包Recycle ...
- ubuntu 13.04 64位安装32位兼容包
未安装32位兼容包,编译出现未找到指定目录下gcc命令,则安装兼容包:sudo apt-get install ia32-libs 若提示:不能安装,与相关软件冲突,则按如下安装: 在网上找到更新源, ...
随机推荐
- MYSQL数据类型和where条件判断
MySQL中常见的数据类型 一.字符型 ① CHAR(N):固定N个字符长度的字符串,如果长度不够自动空格补齐; N的范围 0~255 ② VARCHAR(N): 存储可变长度的字符串,最常用 ③ T ...
- zend studio修改字体
zend studio修改字体 没想到zend studio 9中对中文显示不太好看,似乎有点小了.修改如下:打开Window->Preferences->General->Appe ...
- PHP接入阿里云市场 阿里短信服务DEMO
阿里短信服务:支持三大运营商短信.智能管道等优质能力,产品特点:3秒可达.99%到达率.超低资费. 使用阿里短信服务步骤: 1.购买服务 到https://market.aliyun.com/prod ...
- SQL SERVER 删除前判断指定的表或者存储过程是否存在
1.创建存储过程: CREATE PROCEDURE proc_pr ---将create修改成alter可以修改存储过程: AS BEGIN IF EXISTS(SELECT * FROM syso ...
- KBEngine简单RPG-Demo源码解析(1)
一:环境搭建1. 确保已经下载过KBEngine服务端引擎,如果没有下载请先下载 下载服务端源码(KBEngine): https://github.com ...
- Java IO学习笔记(三)转换流、数据流、字节数组流
转换流 1.转换流:将字节流转换成字符流,转换之后就可以一个字符一个字符的往程序写内容了,并且可以调用字符节点流的write(String s)方法,还可以在外面套用BufferedReader()和 ...
- Java系列 - 用Java8新特性进行Java开发太爽了
本人博客文章网址:https://www.peretang.com/using-java8s-new-features-to-coding-is-awesome/ 前言 从开始写博客到现在已经过去3个 ...
- 一颗简单的hibernate栗子
Hibernate是一个开源的ORM框架,顾名思义,它的核心思想即ORM(Object Relational Mapping,对象关系映射),可以通过对象来操作数据库中的信息,据说开发者一开始是不太熟 ...
- 实现一个栈类,类似STL中的栈
1.思路讲解 stack集合类是一个简单的堆栈的实现. 这里有两个模板参数,T和size,T用于指定堆栈中的元素类型,my_size用于表示堆栈中项数的最大值. 类中添加方法isempty.isful ...
- 改进log4go的一些设想
log4go 的 4.0.2 版本(https://github.com/ccpaging/log4go/tree/4.0.2)发布以后, 看了看别的 go 语言日志文件设计.发现了一篇好文: log ...