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

Jav*_*hir 7 android android-appcompat gradle android-support-design

添加后无法构建项目

compile 'com.android.support:design:24.2.0'
Run Code Online (Sandbox Code Playgroud)

继续发出以下错误:

似乎,问题是支持矢量drawables.在某处某些属性被添加两次.

例如,内置的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>
Run Code Online (Sandbox Code Playgroud)

<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"/>
Run Code Online (Sandbox Code Playgroud)

我已将此添加到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'
Run Code Online (Sandbox Code Playgroud)

Jav*_*hir 4

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

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

./gradlew app:dependencies
Run Code Online (Sandbox Code Playgroud)

然后,找到使用旧版本 appcompat 的库并更新/删除,无论什么适合您。