eclipse 添加android-support-v7-appcompat包

我们在github上下载一些源码,经常看到里面有一些使用到android-support-v7-appcompat包的内容
在我们导入的时候就报错,运行不了。所以就想到底该怎么使用v7包。

1、直接将我们sdk里面的v7包拷贝到libs目录。(不可行)

例如我的sdk目录:
D:\Install_Program\Android-SDK\sdk\extras\android\support\v7\appcompat\libs
我们直接将里面的jar包拷贝到libs目录,编译的时候不会报错,但是运行的时候报错。
08-08 19:50:00.935: E/AndroidRuntime(1834): java.lang.NoClassDefFoundError: android.support.v7.appcompat.R$styleable

eclipse 添加android-support-v7-appcompat包_第1张图片

2、我们使用v7包不能像v4包那样,直接放到libs目录,添加Build Path 就行。

我们import一个library的工程

eclipse 添加android-support-v7-appcompat包_第2张图片

记得把Copy projects into workspace勾上,免得影响原来的sdk中内容
eclipse 添加android-support-v7-appcompat包_第3张图片

把这个工程作为一个library ,src目录下是空的
eclipse 添加android-support-v7-appcompat包_第4张图片

3、我们再新建一个自己的工程 testv7

先把工程下的v4包移除掉,免得冲突

eclipse 添加android-support-v7-appcompat包_第5张图片

再把我们v7的library工程Add进来
eclipse 添加android-support-v7-appcompat包_第6张图片

这个时候我们运行,其实没有报之前的错误了,但是我们还是把v4 和v7都引进来
eclipse 添加android-support-v7-appcompat包_第7张图片

把order and Export里面的也上
eclipse 添加android-support-v7-appcompat包_第8张图片

4、到这个时候,运行还是报错,但报错的内容不一样

08-08 22:05:26.923: E/AndroidRuntime(20721): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.testv7/com.example.testv7.MainActivity}: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.

提示我们要使用Theme.AppCompat这个主题
我们修改下AndroidManifest.xml 里面的主题
eclipse 添加android-support-v7-appcompat包_第9张图片

在xml文件使用
eclipse 添加android-support-v7-appcompat包_第10张图片

到现在我们就可以正常使用v包里面的内容了。

总结注意:
我们在github下载的demo,里面有用到AppCompatActivity,我们发现自己的v7包里面并没有,从网上下载的包含这个类的v7包,拿过了替换,发现运行的时候会报错。
猜测可能需要sdk对应的v4 v7包。
写这篇博客同时四川发生了地震,希望四川人民平安!

你可能感兴趣的:(Eclipse)