昨天添加Android兼容包,碰到了很多问题,在这里记录一下,让后面的路好走。

如何选择兼容包,

请参考Android Support Library Features(二)

一、下载Support Library

方法1:右击项目→选择Android Tools→Add Support Library…

方法2:

通过SDK Manager获取Support Library:

1.打开Android SDK Manager

2.在SDK Manager窗口,滚动到Package List的末尾,找到Extra文件夹,如果需要的话打开文件夹显示它的内容。

3.选择Android Support Library项目。

注意:如果你使用的是Android Studio开发,选择并安装Android Support Repository项目而不是Android Support Library项目。

4.点击Install packages按钮。

下载完成后,SDK会将Support Library文件安装到你已经存在的Android SDK目录下。库文件位于SDK的如下子目录:<sdk>/extras/android/support/目录。

二、添加V4兼容包(v4 appconpat)

  1. 确保你已经利用SDK Manager下载了Android Support Library 。
  2. 在你的项目的根目录下创建一个libs/目录。
  3. 从你的Android SDK安装目录(例如,<sdk>/extras/android/support/v4/android-support-v4.jar)下拷贝JAR文件到你项目的libs/目录下。
  4. 右键点击JAR文件并选择Build Path > Add to Build Path。

三、添加V7兼容包(v7 appconpat)

创建一个基于support library代码的 library project

  1. 确保你已经利用 SDK Manager下载了Android Support Library
  2. 创建一个library项目并且确保需要的JAR文件包含在了项目的build path中:
    1. 选择File > Import
    2. 选择Existing Android Code Into Workspace 并点击Next
    3. 浏览SDK安装目录,并进入Support Library目录下。例如,如果你要添加appcompat项目,浏览 <sdk>/extras/android/support/v7/appcompat/。
    4. 点击Finish引入项目。对于v7 appcompat项目,你将看到一个标题为android-support-v7-appcompat的新项目。
    1. 在新项目中,展开libs/ 文件夹,右键点击每一个.jar文件,并选择Build Path > Add to Build Path。例如,当创建v7 appcompat项目时,同时将android-support-v4.jar和android-support-v7-appcompat.jar文件添加到build path中。
    2. 右键点击library项目文件夹并选择Build Path > Configure Build Path
    3. 在Order and Export选项中,在刚刚添加到build path中的.jar文件上打勾,这时这些文件成为项目可用的了并依赖于这个library项目。例如,appcompat项目要求同时导出android-support-v4.jar和android-support-v7-appcompat.jar文件。
    4. 去掉Android Dependencies上的对勾。
    5. 点击OK完成设置

现在你拥有了一个包含你选择的Support Library的library项目,你可以在一个或多个应用项目中利用这个Support Library。

现在我们要向应用工程(需要加入Support Library的工程)添加库:

  1. 在项目浏览器中右键单击你的项目,选择Properties
  2. 在左边的分类面板中,选择Android
  3. 在Library面板中,点击Add
  4. 选择库项目,然后点击OK。例如,appcompat项目会在列表中显示为android-support-v7-appcompat
  5. 在properties窗口中,点击OK

遇到的问题:

1、java.lang.NoClassDefFoundError: android.support.v7.appcompat.R$attr

这个问题,是因为app在运行时没有找到对应的V7兼容包导致的,请参考文中  添加V7兼容包(v7 appconpat)

2、java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.

完成上文提到的1,3步骤后,修改android:theme为@style/Theme.AppCompat

参考链接

Android Support Library(一)

Android Support Library Features(二)

Android Support Library Setup(三)

Support Library

在Eclipse添加Android兼容包( v4、v7 appcompat )的更多相关文章

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

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

  2. 在Eclipse添加Android兼容包( v4、v7 appcompat )[转]

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

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

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

  4. Android兼容包之MultiDex

    一.MultiDex的产生背景 当Android系统安装一个应用的时候,有一步是对Dex进行优化,这个过程有一个专门的工具来处理,叫DexOpt.DexOpt的执行过程是在第一次加载Dex文件的时候执 ...

  5. Eclipse添加中文语言包与下载

    从Eclipse官网下载最新版本的Eclipse都是英文版的,不自带语言包.现在Eclipse有一个语言包项目,叫Eclipse Babel Project.如果需要语言包,可以联机从这儿下载. Ba ...

  6. 【转】如何手动添加Android Dependencies包

    在ADT16 之前可以在工程里面做关联,eclipse会在工程上自动添加ReferenceLibrary.新版本的ADT修改了第三方jar的导入方式,只需要在工程目录下新建libs文件夹,注意是lib ...

  7. Eclipse导入android项目包xml报错未生成R文件

    最近很是头痛的就是项目带回家做的时候.导入各种问题.自从升级23以后. 生成的带appcompat_v7包.copy时不论是新建还是导入这个包,项目都会报错. 网上的方法试了各种clean各种fix等 ...

  8. 如何手动添加Android Dependencies包

    在ADT16 之前可以在工程里面做关联,eclipse会在工程上自动添加ReferenceLibrary.新版本的ADT修改了第三方jar的导入方式,只需要在工程目录下新建libs文件夹,注意是lib ...

  9. eclipse添加缺失的包/src/main/resource

    右键>>build path>>source 添加文件夹

随机推荐

  1. mybatis like的用法

    oracle数据库: SELECT * FROM user WHERE name like CONCAT('%',#{name},'%') 或 SELECT * FROM user WHERE nam ...

  2. Linux_04------Linux权限的设定

    三种权限 */ /** * 修改文件所有者 * chown 用户名 文件名 */

  3. SQL镜像资料

    使用数据库镜像端点证书 (Transact-SQL):https://msdn.microsoft.com/zh-cn/library/ms191477.aspx 允许数据库镜像端点将证书用于入站连接 ...

  4. Git版本控制教程

    Git 版本控制入门 不了解Git请查看权威Git书籍 ProGit(中文版). 一份很好的 Git 入门教程,点击这里查看. Git客户端下载地址: 官方Git - TortoiseGit - So ...

  5. html+css-----补

    其实html没什么好补充的了,主要是使用css如何构造出各种想要的效果 1.加减框 <!DOCTYPE html> <html lang="en"> < ...

  6. Filter过滤器简单应用( 接口访问控制 )

    一.描述 在提供安卓.IOS客户端接口时,可以在登陆接口分配Session给客户端,用于判断其他接口是否是合法访问,以避免将所有的接口都暴露在web中可以由路径直接访问.但是最近的一个项目中的移动接口 ...

  7. java核心知识点学习----equals和==的比较、单例模式,饿汉式,饱汉式

    最近发现自己学习能力变慢了,想来想去还是发现是因为自己Java基础没有打扎实,接下来的一系列文章将主要记录自己对于Java的最基础知识点的学习. 一.equals和==的比较 先看例子: packag ...

  8. python-->基础-->004-->迭代器

    http://blog.chinaunix.net/uid-23500957-id-3990473.html http://www.cnblogs.com/vamei/archive/2012/07/ ...

  9. M1事后分析汇报总结

    学霸网站项目Postmortem结果 设想和目标 1.       我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 学霸网站为计算机学习提供了一个网上基地,在这里你 ...

  10. WebForm和WinForm取当前根目录的通用的方法[转载]

    转自:WebForm和WinForm取当前根目录的通用的方法 某些环境下用 System.Web.HttpContext.Current.Server.MapPath 取不到目录. 可以用下面两个方法 ...