我试图将appcompat-v7添加到我的项目中,但是当我运行gradle sync时会抛出以下错误:
/path/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/22.2.1/res/values/values.xml 错误:(2)属性"布局"已定义
这是我的build.gradle,我只需添加行compile 'com.android.support:appcompat-v7:22.2.1'
/path/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/22.2.1/res/values/values.xml
Error:(2) Attribute "layout" has already been defined
compileSdkVersion 22
buildToolsVersion "22.0.1"
defaultConfig {
minSdkVersion 14
targetSdkVersion 22
}
...
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:support-v4:22.2.1'
compile 'com.android.support:appcompat-v7:22.2.1'
compile 'com.google.android.gms:play-services-analytics:7.3.0'
compile('org.simpleframework:simple-xml:2.7.1') {
exclude group: 'stax', module: 'stax-api'
exclude group: 'xpp3', module: 'xpp3'
}
compile('com.crashlytics.sdk.android:crashlytics:2.5.1@aar') {
transitive = true;
}
}
答案 0 :(得分:0)
您的项目或其中一个依赖项可能会定义“布局”属性。根据我的经验,当发生这种情况时,gradle输出包含的信息将引导您到定义duplicate属性的位置。然后,您可以经常使用此信息来跟踪和重命名冲突属性。如果您从gradle粘贴完整输出,它可以帮助我们找出确切的原因。
答案 1 :(得分:0)
日志确实描述了问题,我在文件res/values/attr.xml
<declare-styleable name="CustomListView">
<attr name="layout" format="integer"/>
</declare-styleable>
我评论了代码和Bingo!