Lollipop AppCompat-v7 21 - 属性"主题"已经定义

use*_*899 69 android android-5.0-lollipop

我想升级我的项目以支持Android Lollipop和API 21,因此我将依赖项的AppCompat版本更改为21.0.0,将目标SDK更改为21.

但是现在,当我尝试将项目与gradle文件同步时,它给了我102 errors以前不存在的内容:

1错误"Attribute 'theme' has already defined"- 由我的colors.XML文件给出,

还有另外101个错误"no resources found that matches the given name..."- 其中大多数是物质错误- 由...给出"build/intermediates/exploded-aar/com.android.support/appcompat-v7/21.0.0/res/values-v11/values.XML".

已经更新了Android SDK软件中的所有SDK工具,使用Android Studio 0.8.9 Beta.

有人可以帮忙吗?谢谢.

小智 123

我也有第一个问题.可以通过将Google Play服务依赖项更新为6.1.+来修复此问题.

在Gradle(我希望你使用)中,这是:编译'com.google.android.gms:play-services:6.1.+'

至于第二个问题 - 正如人们在评论中所说,你应该确保SDK安装中的所有组件都是最新的.

  • 非常感谢你!我更改了Google Play服务依赖项,但它确实有效! (3认同)

小智 17

我有同样的问题,但升级到最新版本没有帮助.

但错误消息已Attribute “theme” has already been defined更改为Attribute “layout” has already been defined

在Google Play服务中,我发现了这一点

  <declare-styleable name="WalletFragmentOptions">
         <!-- Theme to be used for the Wallet selector -->
-        <attr name="theme" format="enum">
+        <attr name="appTheme" format="enum">
Run Code Online (Sandbox Code Playgroud)

这是关键.

如果你的attr.xml属性主题布局或其他东西 - 重命名它.合并似乎无法解决它.