昨天添加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. asp.net GDI+绘制多个矩形

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...

  2. C# 程序间通信的各种途径及解析

    一.开篇 程序间通信的主要目的是实现多台计算机(也可以是同一台)中应用程序之间的数据共享与信息交换.在不同的计算机系统中,它们之间要通过网络之间的协议才能 实现数据共享与信息交换:在同一台计算机系统中 ...

  3. Selenium2+python自动化10-登录案例

    前言 前面几篇都是讲一些基础的定位方法,没具体的案例,小伙伴看起来比较枯燥,有不少小伙伴给小编提建议以后多出一些具体的案例.本篇就是拿部落论坛作为测试项目,写一个简单的登录测试脚本. 在写登录脚本的时 ...

  4. 企业项目如何打包成.ipa文件

    首先准备好企业的项目,真机和申请好的正式证书,关于企业证书的申请此处不再写,可以参考网上相关的教程,本人并未参与证书申请,所以此处不敢乱写. 1.找到正式证书与描述文件,双击打开(需要密码,这个要问申 ...

  5. php设计模式学习之观察者模式

    什么都不说,先看代码: interface userOperateImpl { public function operate($username); } class userLoginLog imp ...

  6. Scrum会议10.19

    Scrum会议 组名称:好好学习 项目名称:记账本 参会成员:林莉(Master)胡丽娜 宫丽君 汪东涵 时间:2016.10.19 已完成内容: 1.完成新项目的查找,查找学姐的代码和项目. 2.理 ...

  7. linux中时间的更改

    # tzselectPlease identify a location so that time zone rules can be set correctly.Please select a co ...

  8. java基础(1)-比较jdk5,jdk6,jdk7的新特性

    jdk8已经出来好长时间了,这里自己学习时简单总结的jdk5,jdk6和jdk7的新特性:本文提纲: 一.jdk5的新特性 二.jdk6的新特性 三.jdk7的新特性 一.jdk5的新特性 首先简单介 ...

  9. WebStorm常用设置和常用快捷键

    今天下载了最新版本的WebStorm 7.反正又要重新设置一番了,干脆写下来记录到博客里面,免得以后每次忘了还要到处搜索比较麻烦. 加速 禁用多余的插件,关掉没必要的代码检查项.webstorm慢的原 ...

  10. BigDecimal类的加减乘除

    Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算. 双精度浮点型变量double可以处理16位有效数,但是在实际应用中,需要对更大或者更小的 ...