web-dev-qa-db-fra.com

Attribut déjà défini avec un format incompatible (attribut d'origine défini ici)

Impossible de construire le projet après l'ajout 

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

Continue à donner les erreurs suivantes: 

 

On dirait que le problème est lié au support des dessins vectoriels. Quelque part, certains attributs sont ajoutés deux fois.

Par exemple, le fichier values.xml construit contient:

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

et 

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

J'ai ceci ajouté au fichier de classement:

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'
6
Javanshir

Le problème apparaît lorsque différentes versions de la même bibliothèque sont présentes dans l'application. Dans ce cas, différentes versions de la bibliothèque de support.

Si vous ne les voyez pas dans votre fichier Gradle, ils sont probablement ajoutés en tant que dépendances. Exécutez ce qui suit dans terminal, pour voir les dépendances de chaque bibliothèque:

./gradlew app:dependencies

Ensuite, recherchez les bibliothèques qui utilisent les anciennes versions d’appcompat et mettez à jour/supprimez, à votre convenance.

4
Javanshir

Vous avez le même nom de propriété que les autres contrôles et modifiez le nom de la propriété de votre contrôle personnalisé.

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

1
Lan

Android sdk n’est pas à éviter avec les attributs étendus. Utilisez l’espace de noms parent 

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