我想升级我的项目以支持Android Lollipop和API 21,所以我将依赖的AppCompat版本更改为21.0.0, 和我的目标SDK到21。
但是现在,当我尝试将项目与gradle文件同步时,它会让我102 errors
之前不存在:
"Attribute 'theme' has already defined"
的1个错误 - 由我的colors.XML
文件提供,
以及"no resources found that matches the given name..."
的另外101个错误 - 其中大多数是重要错误 - 由"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。
有人可以帮忙吗?感谢。
答案 0 :(得分:123)
我也有第一个问题。可以通过将Google Play服务依赖关系更新为6.1。+。
来解决此问题在Gradle(我希望你使用的)这是: 编译'com.google.android.gms:play-services:6.1。+'
至于第二个问题 - 正如人们在评论中所说,你应该确保SDK安装中的所有组件都是最新的。
答案 1 :(得分: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">
这是关键。
如果您的attr.xml属性主题或布局或其他内容 - 请重命名。合并似乎无法解决它。
答案 2 :(得分:2)
Android工作室中的Gradle建议使用com.google.android.gms:play-services
的最新版本。
将其更新到最新版本后,问题就解决了。
编译'com.google.android.gms:play-services:8.3.0'
答案 3 :(得分:0)
有时您使用的库具有此属性。我正在使用Sliding up panel库,我在构建期间遇到了以下错误。我在依赖库中有以下项目:
dependencies {
compile 'com.android.support:appcompat-v7:20.0.0'
compile 'com.sothree.slidinguppanel:library:+'
// ...
}
我通过删除滑动库修复了我的问题:(
答案 4 :(得分:0)
在我的项目中添加新活动后,似乎Android Studio会在错误开始出现之后自动更新我的依赖项。
我将以下依赖项更改为最新的兼容性库:
compile 'com.android.support:support-v4:21.0.3'
compile 'com.android.support:appcompat-v7:21.0.3'
我在gradle.build中的那些,在Studio编辑它之前没有问我:
compile 'com.android.support:support-v4:20.0.0'
compile 'com.android.support:appcompat-v7:20.0.0'
然后让Studio进行同步,你的构建应该可以工作。
答案 5 :(得分:0)
对于Eclipse用户:
因为如果您按照推荐安装gps,那么您的工作区中只会有一份副本,而不会更新。