已使用不兼容格式定义的属性(此处定义的原始属性)

Attribute already defined with incompatible format (Original attribute defined here)

添加后无法构建项目

compile 'com.android.support:design:24.2.0'

不断出现以下错误:

似乎问题在于支持矢量绘图。某处某些属性被添加了两次。

例如,构建的 values.xml 文件包含:

<declare-styleable name="AppBarLayout_LayoutParams"><attr name="layout_scrollFlags"><flag name="scroll" value="0x1"/><flag name="exitUntilCollapsed" value="0x2"/><flag name="enterAlways" value="0x4"/><flag name="enterAlwaysCollapsed" value="0x8"/></attr><attr format="reference" name="layout_scrollInterpolator"/></declare-styleable>

<declare-styleable name="AppBarLayout_Layout"><attr name="layout_scrollFlags">
        <flag name="scroll" value="0x1"/>
        <flag name="exitUntilCollapsed" value="0x2"/>
        <flag name="enterAlways" value="0x4"/> 
        <flag name="enterAlwaysCollapsed" value="0x8"/>
        <flag name="snap" value="0x10"/>

我已将此添加到 gradle 文件中:

compile 'com.android.support:cardview-v7:24.2.0' + '@aar'
compile 'com.android.support:recyclerview-v7:24.2.0' + '@aar'
compile 'com.android.support:appcompat-v7:24.2.0'
compile 'com.android.support:design:24.2.0'

当应用程序中存在同一库的不同版本时,就会出现此问题。在这种情况下,不同版本的支持库。

如果您在 gradle 文件中没有看到它们,那么它们可能是作为依赖项添加的。 运行 在终端中执行以下操作,以查看每个库的依赖项:

./gradlew app:dependencies

然后,找到使用旧版本 appcompat 的库,并根据您的需要更新/删除。

您的属性名称与其他控件相同,请修改您自定义控件属性的名称

<declare-styleable name="MyBgView">
        <attr name="textString" format="string" />
        <attr name="textSizes" format="dimension" />
        <attr name="triangleSize" format="dimension" />
        <attr name="backgrounds" format="color" />
        <attr name="textColors" format="color" />

Android sdk 不免向上扩展attributes.Use 父命名空间

<declare-styleable name="AppBarLayout_Layout" parent="AppBarLayout_LayoutParams">
    <attr name="layout_scrollFlags">
</declare-styleable>