web-dev-qa-db-fra.com

La compilation des ressources Android a échoué en v3.2

J'ai donc mis à jour mon Android Studio vers la version 3.2. Lorsque j'ai essayé de compiler le projet, la construction échoue . Voici l'erreur:

Android resource compilation failed
    Output:  C:\Users\Ashish\AndroidStudioProjects\StartUp\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values\values.xml:900: error: <item> inner element must either be a resource reference or empty.

    Command: C:\Users\Ashish\.gradle\caches\transforms-1\files-1.1\aapt2-3.2.0-4818971-windows.jar\7f1fbe9171e916e5044000cd76b749c8\aapt2-3.2.0-4818971-windows\aapt2.exe compile --legacy \
            -o \
            C:\Users\Ashish\AndroidStudioProjects\StartUp\app\build\intermediates\res\merged\debug \
            C:\Users\Ashish\AndroidStudioProjects\StartUp\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values\values.xml
    Daemon:  AAPT2 aapt2-3.2.0-4818971-windows Daemon #0

S'il vous plaît dites s'il y a plus d'informations requises. Toute aide serait appréciée.

16
Ashish Yadav

Je faisais face à ce problème aujourd'hui après avoir mis à jour gradle de 3.1.4 à 3.2.0. Je ne sais pas pourquoi, mais la construction a commencé pour lever cette exception. J'ai supprimé le dossier build et le gradle caches, mais rien n'a fonctionné. J'ai donc examiné le values.xml fusionné et il s'avère que mon ids.xml définissait un mauvais identifiant qui était fusionné avec le values.xml:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <item name="downloading_package" type="id">Baixando pacote de sincronização</item>
</resources>

Et apparemment, cela fonctionnait avant la mise à jour ... dans mon cas, j'ai supprimé le fichier ids.xml (il était inutile dans le projet)

J'aimerais pouvoir savoir pourquoi, avant la mise à jour, tout fonctionnait

Je viens juste de terminer ce problème il y a quelques minutes. Essayez de modifier ou de supprimer id.xml. Si vous pensez ne pas l'avoir, essayez de le trouver dans un autre module de votre application. Je change ma ressource de valeur de <item name="header_view" type="id">header_view</item> à <item name="header_view" type="id"/> et cela a fonctionné pour moi.

2
Arie Ridwan

le <item> dans values.xml à la ligne 900 ... peut être de type ressource id.

la syntaxe correcte serait (comme le message d'erreur le dit):

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <item type="id" name="id_name" />
</resources>

voir la documentation .

2
Martin Zeitler

j'ai également rencontré le problème, il vous suffit de trouver où les valeurs dans, et le mettre à jour de <item type="id" name="id_name" >id_name</item> à <item type="id" name="id_name" />, maintenant c'est ok.

1
alei long

dans ton grade de construction (Projet: nom) fais-le comme ça

classpath 'com.Android.tools.build:gradle:3.+'

reconstruisez ensuite votre projet .. après cela, un message vous indiquera de mettre à jour votre version de 4.6 à 4.10

0
Tariq K Alsaidi

Dans mon cas 

<?xml version="1.0" encoding="utf-8"?>

est répété deux fois dans le XML. Assurez-vous que ce doit être un par fichier en haut du XML.

0
Shylendra Madda