lib支持appcompat_v7时出错

时间:2014-10-19 18:29:54

标签: android eclipse android-support-library

我在图书馆appcompat_v7

遇到了麻烦

路径上有错误

  

RES /值-V21 / styles_base.xml

并且第75行显示错误 - 低于75到78:

<style name="Base.Widget.AppCompat.ActionButton"
          parent="android:Widget.Material.ActionButton">
 </style>

在控制台:

  

home / user / workspace / appcompat_v7 / res / values-v21 / themes_base.xml:156:错误:错误:找不到与给定名称匹配的资源:attr'android:colorControlNormal'。

和几个错误类似只改变'android:*'

我该如何解决这个问题?

4 个答案:

答案 0 :(得分:4)

好的,我不确定,如果这是一个真正的&#34;解决方案&#34;但这是我的理论和我所做的:

我的理论

更新&#34; Android支持库&#34;版本21,我得到了类似的错误。看来,我的IntelliJ没有正确更新模块中的资源,这指向了appcompat的ressources目录。

此外,我有一些小部件和代码直接指向那些资源中的drawables。

但是在Android支持库的第21版中,Google放弃了对Holo主题的支持

因此,编译器抱怨找不到我的主题所依赖的资源。

我做了什么

编译时

说实话,我不确定我是如何做出这项工作的。我想,我用过一些重新启动和缓存清空等。将资源复制到我的项目文件夹等。当我的应用程序最终启动时,它看起来不同!当然,它有 Material 主题而不是 Holo 主题。

并非所有事情都幸存下来。例如。动作栏是黑色(标准)而不是绿色(我的主题)。所以我试着回到旧版appcompat而不是将我的整个应用程序迁移到Material。

既然你问我解决方案,我就会发布我所做的事情&#34;降级&#34; appcompat v20。

降级为appcompat v20

  1. 启动SDK Manager
  2. 下载 Android支持存储库
  3. 转到安装Android SDK的目录\ android-sdk \ extras \ android \ m2repository \ com \ android \ support \ appcompat-v7 \ 20.0.0 \
  4. 在我创建目录appcompat-v7-20.0.0.aar
  5. 之后,将项目中的libs\appcompat\(它是一个zip文件)中的所有文件解压缩到appcompat目录
  6. 在IntelliJ中添加了这些模块并使我的项目依赖于此模块
  7. 从我的git存储库中恢复了android-support-v7-appcompat.jar for v20
  8. 使用已恢复的appcompat jar而不是v21 one
  9. 第6步是一个,我发现非常困难。我希望.aar文件中的classes.jarandroid-support-v7-appcompat.jar,但它不是。{0}。我甚至都不知道,你可以从正确的版本中获取android-support-v7-appcompat.jar,因为我在存储库中找不到它。我并不想从互联网上的某个地方下载#34;

    我是&#34;幸运&#34;,它已经在我的git中使用了正确的版本。

    现在我的应用已编译并正确查找。希望你也这样!

答案 1 :(得分:4)

在升级Eclipse并在工作区中导入“Android Support Library”后出现同样的问题。

我认为这是“降级到appcompat”的一个糟糕的解决方案,所以我试图找到另一种方式并找到它。 我的问题是我的AppCompat的“Project Build Target”设置为API lvl 19.所以这是一个问题:

  

-Eclipse没有为AppCompat加载API lvl 21的数据。

     

-Appcompat有Target API lvl 19,但试图为API lvl 21设置样式。

也许你有同样的问题,所以结帐有什么帮助我:

1

  

右键单击Appcompat project =&gt;属性=&gt; Android =&gt;检查你的标记在哪里,如果它没有在Android 5.0上设置 - 修复它并单击确定。

2

  

Project =&gt;清洁=&gt;设置“清除所有项目”=&gt;确定

P.S。对不起,如果我有错误 - 英语不是我的母语。

答案 2 :(得分:3)

  

home / user / workspace / appcompat_v7 / res / values-v21 /themes_base.xml:156:错误:错误:找不到与给定名称匹配的资源:attr&#39; android: colorControlNormal&#39;

我认为values-v21代表api等级21,所以我更新到了android 5.0,它对我有用。

答案 3 :(得分:1)

我的解决方案更激进: 删除所有样式文件及其每个引用