【问题标题】:Error on adding appcompat-v7 api level 22添加 appcompat-v7 api 级别 22 时出错
【发布时间】:2015-12-28 14:03:44
【问题描述】:

我正在尝试将 appcompat-v7 添加到我的项目中,但是当我运行 gradle sync 时会引发以下错误:

/path/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/22.2.1/res/values/values.xml 错误:(2) 属性“layout”已经定义

那是我的 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;
    }
}

【问题讨论】:

    标签: android android-studio android-appcompat


    【解决方案1】:

    很可能您的项目或您的依赖项之一定义了“布局”属性。根据我的经验,当发生这种情况时,gradle 输出包含的信息将引导您到定义重复属性的位置。然后,您可以经常使用此信息来跟踪和重命名冲突的属性。如果您从 gradle 粘贴完整的输出,它可以帮助我们查明确切的原因。

    【讨论】:

      【解决方案2】:

      日志确实描述了问题,我在文件res/values/attr.xml找到了如下代码sn-p

      <declare-styleable name="CustomListView">
          <attr name="layout" format="integer"/>
      </declare-styleable>
      

      我评论了代码和Bingo!

      【讨论】:

        猜你喜欢
        • 2015-10-22
        • 2016-05-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多