Android项目使用support v7时遇到的各种问题

当我们开发android应用需要用到android-support-v7-appcompat.jar这个库时(比方说要在2.2版本上使用actionbar和fragment),在项目中导入v4和v7这两个库之后,新手往往会遇到一些问题。在这里,总结一下可能遇到的问题,以及解决的方法。

工具/原料

  • 需要两个库:android-support-v4.jar,android-support-v7-appcompat.jar
  • 温馨提示:这两个库最好版本一样,否则可能会有一些其他问题产生。
  • 这两个库可以从sdk下的sdk\extras\android\support中获取

方法/步骤

  1. 首先是在项目中导入这两个库

    可以通过在项目根目录创建一个libs文件,然后把这两个库拷贝到里面,然后eclipse刷新一下这个项目,eclipse会智能添加这两个库

  2. 添加完之后,可能遇到的问题:

    一类问题:  values\......No resource found

    比方说:

    res\values\styles.xml:4: error: Error retrieving parent for item: No resource found that matches the given name ‘Theme.AppCompat.Light.DarkActionBar‘.

    对于values这个地方产生的no resource found问题,说明是没有v7下的资源。

    解决方法:

    添加资源库,针对上面的例子,AppCompat这个是v7里的,所以缺少的是v7的资源。从sdk去获取,路径是sdk\extras\android\support\v7\appcompat,把这个library通过eclipse导入(import)。然后之前的项目添加该lib,再clean下。这样上面的问题可以搞定。

  3. 二类问题:values-v11,values-v21,values-v17等等下的No resource found

    比方说:

    appcompat\res\values-v21\styles_base.xml:75: error: Error retrieving parent for item: No resource found that matches the given name ‘android:Widget.Material.ActionButton‘.

    appcompat\res\values-v11\themes_base.xml:178: error: Error: No resource found that matches the given name: attr ‘android:windowActionBar‘.

    appcompat\res\values-v14\themes_base.xml:27: error: Error: No resource found that matches the given name: attr ‘android:actionModePasteDrawable‘.

    对于在values-v11这类针对不同android target加载的values下找不到资源的问题,原因还是一样,找不到这个target下的资源。

    解决方法:

    很简单,把project.properties里的target=android-8或者可能稍微高点,改到target=android-21或者更高(前提是sdk已经下载了该target的库),然后再clean下项目。这样这类问题也就解决了,当然你在Manifest里不要忘记加上uses-sdk,来允许最低版本。

  4. 4

    最后附上测试写的actionbar tab加上fragment,在Android2.3.4三星手机上的实现结果

时间: 2024-10-02 20:05:35

Android项目使用support v7时遇到的各种问题的相关文章

Android项目使用support v7时遇到的各种问题(转载百度经验)

转载地址:http://jingyan.baidu.com/article/bea41d439bd6d5b4c41be659.html 当我们开发android应用需要用到android-support-v7-appcompat.jar这个库时(比方说要在2.2版本上使用actionbar和fragment),在项目中导入v4和v7这两个库之后,新手往往会遇到一些问题.在这里,总结一下可能遇到的问题,以及解决的方法. 工具/原料 需要两个库:android-support-v4.jar,andr

Visual Studio Xamarin编译Android项目出错的解决办法

安装完Xamarin后,编译Android项目时,你会发现好长时间进度都不动,当你取消编译后,会发现其实是出错了,就是因在Android项目在第一次编译时要去google网站上下一个andorid sdk包,墙内又连不上,就卡在那了,解决办法就是自已到国内的一些镜像网站上(如:http://mirrors.opencas.cn/android/)下一个,如:android_m2repository_r29.zip, 然后解压到任意目录下,用mklink建立链接到C:\Users\{usernam

关于 Android项目“error: Apostrophe not preceded by \ (”的解决方法

用Eclipse环境开发Android项目,如果编译时控制台报出“error: Apostrophe not preceded by \ (”这种错误,那么多半是因为项目中的一个strings.xml文件里有一个string标签中的字符串含有’,只要在’之前加\进行转义就可以解决这个错误,比如把I'm修改为I\'m就可以了.

eclipse 导入 新建 Android 项目 报错support.v7 v4

如果只是某一个工程(特别是导入的他人的工程)出问题,解决办法就是增加所缺的jar包. 步骤如下: 1.在Eclipse中,右击当前工程,选择Properties 2.选择Java Build Path 3.选择Libraries tab,点击右边面板的Add External JARs按钮 4.选择android-support-v4.jar文件,在你的andriod的sdk目录下: \android-sdks\extras\android\support\v4\android-support-

Android项目中导入support v4和v7

google提供了 Android Support Library package 系列的包来保证来高版本sdk开发的向下兼容性,即我们用4.x开发时,在1.6等版本上,可以使用高版本的有些特性,如 Fragement,ViewPager等,下面,简单说明下这几个版本间的区别: Android Support v4:  这个包是为了照顾1.6及更高版本而设计的,这个包是使用最广泛的,eclipse新建工程时,都默认带有了. Android Support v7:  这个包是为了考虑照顾2.1及以

在项目中引用android.support.v7

在Android开发中,新建的项目可能因为缺少对sopport工程的引用而报错,可以这样解决. 1.项目右键 --> import --> Android --> Existing Android Code Into workspace --> 选择..\sdk\extras\android\support\v7\appcompat(根据自己的文件存放路径先择) --> 勾选copy projects into workspace --> finish (若出现unab

Eclipse中使用recyclerview时出现Caused by: java.lang.NoClassDefFoundError: android.support.v7.recyclerview.R$styleable

转自: http://blog.csdn.net/chenleicpp/article/details/46848785 程序崩溃,错误提示: Caused by: java.lang.NoClassDefFoundError: android.support.v7.recyclerview.R$styleable 原因: 在eclipse中使用RecyclerView,编译没有问题,但是运行时候会出现如下错误,百思不得其解,又说v4包与v7包版本不一致,有说没有导入v7-compat包的,经反

关于新建android项目时 appcompat_v7报错问题的一点总结

说下我的解决方案: 1.确保 appcompat项目的 target版本 低于 实际项目的android版本 2.确保 appcompat的项目编码与eclipse工具的编码一致,我就是犯了这个错误,导致引用appcompat总是失败... 我的eclipse环境是utf-8编码, 但是 appcompat项目 新建的时候默认是 gbk编码,右键appcompat项目>>属性>>Resource>>把编码改成utf-8即可 3.确保 你的项目和appcompat类库 在

关于Eclipse创建Android项目时,会多出一个appcompat_v7的问题【转】

转自:http://blog.csdn.net/crazykbc/article/details/21553699 问题描述: 使用eclipse创建一个Android项目时,发现project列表中会多创建出一个appcompat_v7项目,再创建一个Android项目时,又会再多出一个appcompat_v7_2,如果再次创建,会以此类推地创建出appcompat_v7_x格式的“多余项目”出来(此情况在ADT升级为22.6.x版本后出现,22.3.x前的版本不会有) 查明原因: ADT在2