天天看点

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

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

请参考android support library features(二)

方法1:右击项目→选择android tools→add support library…

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

方法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按钮。

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

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

确保你已经利用sdk manager下载了android support library 。

在你的项目的根目录下创建一个libs/目录。

从你的android sdk安装目录(例如,<sdk>/extras/android/support/v4/android-support-v4.jar)下拷贝jar文件到你项目的libs/目录下。

右键点击jar文件并选择build path > add to build path。

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

确保你已经利用 sdk manager下载了android support library。

创建一个library项目并且确保需要的jar文件包含在了项目的build path中:

选择file > import。

选择existing android code into workspace 并点击next。

浏览sdk安装目录,并进入support library目录下。例如,如果你要添加appcompat项目,浏览 <sdk>/extras/android/support/v7/appcompat/。

点击finish引入项目。对于v7 appcompat项目,你将看到一个标题为android-support-v7-appcompat的新项目。

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

在新项目中,展开libs/ 文件夹,右键点击每一个.jar文件,并选择build path > add to build path。例如,当创建v7 appcompat项目时,同时将android-support-v4.jar和android-support-v7-appcompat.jar文件添加到build path中。

右键点击library项目文件夹并选择build path > configure build path。

在order and export选项中,在刚刚添加到build path中的.jar文件上打勾,这时这些文件成为项目可用的了并依赖于这个library项目。例如,appcompat项目要求同时导出android-support-v4.jar和android-support-v7-appcompat.jar文件。

去掉android dependencies上的对勾。

点击ok完成设置

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

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

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

在项目浏览器中右键单击你的项目,选择properties。

在左边的分类面板中,选择android。

在library面板中,点击add。

选择库项目,然后点击ok。例如,appcompat项目会在列表中显示为android-support-v7-appcompat。

在properties窗口中,点击ok。

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

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

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

继续阅读