102 votes

Erreur - La liaison des ressources Android a échoué (AAPT2 27.0.3 Daemon #0)

J'ai cette erreur

J'essaye de réinstaller Android studio et de supprimer le dossier .gradle, une solution s'il vous plaît ?

    Error:FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:processDebugResources'.
> Android resource linking failed (AAPT2 27.0.3 Daemon #0)
  Command: C:\javasdk\build-tools\27.0.3\aapt2.exe link -I\
          C:\javasdk\platforms\android-26\android.jar\
          --manifest\

  C:\Users\Jalal D\.gradle\caches\transforms-1\files-1.1\fonticon-0.1.8.aar\2b09376fc14469ba65fc8e4d85c2eed1\res\values\values.xml:19:5-25:25: AAPT: error: resource android:attr/fontVariationSettings not found.

  C:\Users\Jalal D\.gradle\caches\transforms-1\files-1.1\fonticon-0.1.8.aar\2b09376fc14469ba65fc8e4d85c2eed1\res\values\values.xml:19:5-25:25: AAPT: error: resource android:attr/ttcIndex not found.

  error: failed linking references.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 1m 3s

112voto

Darush Points 3150

El Échec de la liaison des ressources Android peut également apparaître si vous avez une erreur dans l'une de vos ressources XML. Dans mon cas, j'ai utilisé deux fois la ligne suivante dans l'un de mes fichiers XML dans le dossier drawable :

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

J'ai supprimé la ligne en double et l'erreur a disparu. L'erreur était un peu trompeuse :

Échec de la liaison des ressources Android Sortie : /Users/johndoe/Desktop/myapp/app/src/main/res/layout/ activité_principale .xml:2 : error : resource drawable/bg_main (aka com.example.myproject:drawable/bg_main) n'a pas été trouvée.

Si l'on en croit l'erreur ci-dessus, la première chose à faire est de vérifier toutes les ressources accessibles dans l'application activité_principale car les chances sont plus grandes de trouver l'erreur. Dans le pire des cas, vous pourriez finir par vérifier tous vos fichiers de ressources.

5 votes

Ceci. Cela a résolu mon problème. C'est très ennuyeux que cette erreur n'ait pas été signalée par l'IDE et que l'erreur de liaison ait parlé de quelque chose de complètement différent.

6 votes

Mère de Dieu !

2 votes

Le mien l'était en fait : <?xml version="1.0" encoding="UTF-8"?><?xml version="1.0" encoding="UTF-8"?> (sur la même ligne :P plus difficile à détecter)

51voto

RFourie Points 434

J'ai eu exactement le même problème. Je l'ai résolu en faisant ce qui suit : Recherchez et remplacez com.Android.support:support-v4:+ con com.Android.support:support-v4:27.1.0 dans le répertoire platform/Android.

J'ai également dû ajouter le code suivant aux fichiers platforms/Android/app/build.gradle et platforms/Android/build.gradle :

configurations.all {
resolutionStrategy {
    force 'com.android.support:support-v4:27.1.0'
}}

Modifié pour répondre à "Where is this com.Android.support:support-v4:+ setting ?" ...

Le paramètre sera probablement (dans ce cas) dans l'un des fichiers .gradle de votre plugin dans le répertoire platform/Android/, par exemple dans mon cas c'était le plugin starter-barcodescanner donc il suffit de passer par tous vos plugins fichiers .gradle :

enter image description here

Vérifiez le fichier platforms/Android/build.gradle.

J'espère que cela vous aidera.

0 votes

Merci de nous avoir sauvés !

0 votes

Merci d'avoir sauvé ma journée!j'ai eu des jours avec ce problème qui est venu de la nuit à moi sans savoir comment mon application avait cessé de fonctionner

0 votes

Je n'arrive pas à croire que la solution était si simple, tout ce qu'il fallait était un copier-coller de ces deux fichiers gradle ! Claps !

47voto

Daniel Wilson Points 629

Remarque : Android Studio génère un tas d'erreurs bizarres comme celle-ci si vous mettez à niveau les bibliothèques de support vers le format 28.0.0 et votre compileSdkVersion n'est pas non plus de 28.

15 votes

J'avais déjà les deux compileSdkVersion 28 y support-v4:28.0.0 et j'obtiens la même erreur :(

1 votes

@ocramot J'ai résolu le problème en rétrogradant la version de compileSdkVersion à 27.

2 votes

+1. Mon projet comporte deux modules et j'avais différentes versions (l'une était la 29 et l'autre la 27). Lorsque j'ai mis tous les modules à la version 29, l'erreur a disparu.

7voto

Syed Raza Points 111

Si vous utilisez Windows 10, et Android Studio 3.2, vous pouvez simplement vous rendre dans le dossier de l'application build.gradle et changer la version.

Under dependencies, change version, and build/sync

0 votes

Il s'agit du module Gradle. Cliquez sur le lien ci-dessus pour voir la capture d'écran.

3 votes

Windows 10 est-il obligatoire ?

3voto

Ahmad Azam Points 33

Com.Android.support:support-v4 a été récemment mis à jour et peut affecter les plugins qui utilisent la version mise à jour dans leurs dépendances. Mais si vous ne pouvez pas trouver dans les dépendances (comme si vous utilisez le plugin crosswalk), il suffit de mettre ce code en haut de votre plugin gradle code (pas besoin d'ajouter sur build.gradle).

configurations.all {
resolutionStrategy.force 'com.android.support:support-v4:24.0.0'
}

Exemple d'emplacement pour mettre le code dans le plugin crosswalk aquí

N'hésitez pas à modifier la version de com.Android.support (N'UTILISEZ PAS LA 28.0.0) car c'est là le problème.

2 votes

Merci beaucoup. J'utilise 27.1.0 comme l'a mentionné @RFourie.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X