Атрибут уже определен в несовместимом формате (Здесь определен исходный атрибут)

Не удается построить проект после добавления

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'

person Javanshir    schedule 06.09.2016    source источник
comment
попробуй удалить @aar   -  person Vishal Patoliya ツ    schedule 06.09.2016
comment
Не вижу никакой связи, но я все равно удалил и проверил. Это не проблема   -  person Javanshir    schedule 06.09.2016
comment
поместите свой layout.xml, в котором вы получаете эту ошибку   -  person Vishal Patoliya ツ    schedule 06.09.2016
comment
Ваша проблема решена? у меня такая же проблема, не могли бы вы поделиться, как вы ее решили?   -  person Bilal Shahid    schedule 11.11.2016
comment
Я изменил библиотеку поддержки на более старую версию (все они работали). Недавно перешел на более новую версию, работает без проблем.   -  person Javanshir    schedule 14.11.2016


Ответы (3)


Проблема возникает, когда в приложении присутствуют разные версии одной и той же библиотеки. При этом разные версии библиотеки поддержки.

Если вы не видите их в своем файле gradle, возможно, они добавлены как зависимости. Запустите в терминале следующее, чтобы увидеть зависимости для каждой библиотеки:

./gradlew app:dependencies

Затем найдите библиотеки, которые используют старые версии appcompat и обновите/удалите, что вам подходит.

person Javanshir    schedule 03.03.2017

У вас такое же имя свойства, как и у других элементов управления, и вы можете изменить имя свойства вашего пользовательского элемента управления.

<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" />

person Lan    schedule 13.07.2017

Android sdk не избегает расширенных атрибутов. Используйте родительское пространство имен.

<declare-styleable name="AppBarLayout_Layout" parent="AppBarLayout_LayoutParams">
    <attr name="layout_scrollFlags">
</declare-styleable>
person Vahe Gharibyan    schedule 03.11.2017