Erreur: com.android.tools.aapt2.Aapt2Exception: erreur AAPT2: vérifiez les journaux pour plus de détails

137

Ceci est la sortie de ma console Gradle, je ne parviens pas à construire mon projet

D:\Android Projects\....\app\src\main\res\layout\topic_view_header.xml
Error:error: resource attr/?? (aka -packagename- :attr/??) not found.
Error:error: resource attr/?? (aka -packagename-:attr/??) not found.
Error:error: resource attr/?? (aka -packagename-:attr/??) not found.
Error:resource attr/?? (aka -packagename-:attr/??) not found.
Error:resource attr/?? (aka -packagename-:attr/??) not found.
Error:resource attr/?? (aka -packagename-:attr/??) not found.
Error:failed linking file resources.
Error:java.util.concurrent.ExecutionException: 
java.util.concurrent.ExecutionException: 
com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
Error:java.util.concurrent.ExecutionException: 
com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
Error:com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for 
details
Error:Execution failed for task ':app:processDebugResources'.
> Failed to execute aapt
Information:BUILD FAILED in 27s
Information:11 errors
Information:0 warnings

Android Studio 3.0 RC 2

Zeeshan Ali
la source
Voir cette question
Enzokie
Vous pouvez essayer d'exécuter la tâche assembleDebug pour identifier le problème. Pour plus d'informations, veuillez lire ici stackoverflow.com/a/47941174/1573414
AnteGemini

Réponses:

112

Mise à jour 2 (Suivez cette approche)

Tu ne devrais pas faire ça maintenant. Au lieu de cela, corrigez toutes les erreurs. Ce n'est qu'une solution de contournement jusqu'à ce qu'il soit supprimé. Après cela, vous devrez de toute façon corriger les erreurs manuellement.

Essayez de mettre à jour votre plugin Gradle 3.3.0-alpha06pour vérifier si cela résout votre problème.

Mise à jour 1:

Les problèmes de caractères non-ascii ont été résolus dans le plugin AAPT2 et Android Gradle maintenant (yay!). Au lieu de désactiver AAPT2 maintenant, vous pouvez simplement utiliser le plugin Android Gradle version 3.2.0-alpha11 ou plus récent et vous ne devriez plus rencontrer cette erreur.

Réponse originale

Aapt2 est activé par défaut lorsque vous utilisez le plugin Android pour gradle 3.0.

C'est pour

améliorer le traitement incrémentiel des ressources

comme indiqué ici .

Mais si vous rencontrez des problèmes, vous pouvez revenir à la version précédente en l'ajoutant dans gradle.properties

android.enableAapt2=false
Yashasvi
la source
mais après cela, il y a un problème avec l'exécution de androidTest. Il donne la classe d'erreur introuvable: "com.app.someapp.TheTestClass" Suite de tests vide. Voir ici stackoverflow.com/questions/47969959/…
K.Os
29
après cette action, j'ai eu ce messageProcess 'command 'D:\Android\sdk\Sdk\build-tools\27.0.3\aapt.exe'' finished with non-zero exit value 1
AN
1
Les problèmes de caractères non-ascii ont été résolus dans le plugin AAPT2 et Android Gradle maintenant (yay!). Au lieu de désactiver AAPT2 maintenant, vous pouvez simplement utiliser le plugin Android Gradle version 3.2.0-alpha11 ou plus récent et vous ne devriez plus rencontrer cette erreur.
Izabela Orlowska
2
Cela fonctionne, mais j'ai eu le message:The option 'android.enableAapt2' is deprecated and should not be used anymore. Use 'android.enableAapt2=true' to remove this warning. It will be removed at the end of 2018..
Mikemike
1
NE PAS UTILISER CELA! Toute désactivation de nouvelles fonctionnalités interrompra encore le projet à l'avenir. Comme l'a dit Pranav Karnik, il est obsolète et doit être supprimé: ce n'est qu'une solution de contournement jusqu'à ce qu'il soit supprimé. Après cela, vous devrez de toute façon corriger les erreurs manuellement.
Zoe le
102

METTRE À JOUR

Une nouvelle version de Gradle et Android-gradle-plugin est disponible pour résoudre ces problèmes.

build.gradle (niveau supérieur)

buildscript {
    dependencies {
        classpath 'com.android.tools.build:gradle:3.2.1'
    }
}

gradle-wrapper.properties

distributionUrl=https\://services.gradle.org/distributions/gradle-4.8-all.zip

RÉPONSE PRÉCÉDENTE

Si vous désactivez AAPT2, vous cachez simplement le vrai problème.

Veuillez noter que cela AAPT1pourrait être supprimé à l'avenir, vous êtes donc obligé de l'utiliser AAPT2. En fait, le guide de migration n'est pas difficile à suivre car vous ne voyez pas beaucoup de changements en même temps, de cette manière, c'est une solution pour l'avenir.

Hiérarchies d'éléments dans le manifeste Android

Dans les versions précédentes d'AAPT, les éléments imbriqués dans des nœuds incorrects dans le manifeste Android sont ignorés ou entraînent un avertissement. Par exemple, considérez l'exemple suivant:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
   package="com.example.myname.myapplication">
   <application
       ...
       <activity android:name=".MainActivity">
           <intent-filter>
               <action android:name="android.intent.action.MAIN" />
               <category android:name="android.intent.category.LAUNCHER" />
           </intent-filter>
           <action android:name="android.intent.action.CUSTOM" />
       </activity>
   </application>
</manifest>

Par conséquent, vous devez d'abord vérifier si vous suivez vraiment la bonne structure du manifeste, comme indiqué ci-dessous.

Structure du fichier manifeste

L'extrait de code ci-dessous montre la structure générale du fichier manifeste et chaque élément qu'il peut contenir. Chaque élément, ainsi que tous ses attributs, est entièrement documenté dans un fichier séparé.

<manifest>

    <uses-permission />
    <permission />
    <permission-tree />
    <permission-group />
    <instrumentation />
    <uses-sdk />
    <uses-configuration />  
    <uses-feature />  
    <supports-screens />  
    <compatible-screens />  
    <supports-gl-texture />  

    <application>

        <activity>
            <intent-filter>
                <action />
                <category />
                <data />
            </intent-filter>
            <meta-data />
        </activity>

        <activity-alias>
            <intent-filter> . . . </intent-filter>
            <meta-data />
        </activity-alias>

        <service>
            <intent-filter> . . . </intent-filter>
            <meta-data/>
        </service>

        <receiver>
            <intent-filter> . . . </intent-filter>
            <meta-data />
        </receiver>

        <provider>
            <grant-uri-permission />
            <meta-data />
            <path-permission />
        </provider>

        <uses-library />

    </application>

</manifest>
Enzokie
la source
7
@Downvoters pls. expliquer exactement ce qui ne va pas avec cette réponse afin que je puisse répondre?
Enzokie
Salut Enzokie, j'ai la même exception aapt2. Ce que je fais, c'est mettre à jour la compilation compileSdkVersion de 21 à 26, puis aapt2 crash. Savez-vous où j'ai trouvé le journal des erreurs?
Ninja
@Ninja vous pouvez vérifier le journal dans la console Gradle, c'est comme Logcat.
Enzokie
3
Vous n'avez pas fourni de solution, juste une théorie derrière sa cause qui peut ou non être pertinente.
Chris - Jr
1
@AhamadullahSaikat avez-vous un stacktrace similaire à OP?
Enzokie
20

J'ai eu une erreur dans ma mise en page XML. Vérifiez donc votre mise en page XML pour les erreurs.

Benjamin Ronneling
la source
1
l'erreur ne devrait-elle pas être un peu plus précise dans ce cas?
Ewoks
1
Malheureusement, pas de @Ewoks. Cette erreur exacte est générée s'il existe des caractères spéciaux dans vos chaînes de mise en page XML.
SH7890
13

Vérifiez l'onglet de la console Gradle dans Android Studio (par défaut dans le coin inférieur droit). Dans mon cas, il y a eu des erreurs comme celle-ci:

C:\Users\Jozef Bar??k\.gradle\caches\transforms-1\files-1.1\appcompat-v7-25.4.0.aar\d68bb9d2059935a7891196f4dfb81686\res\drawable-hdpi-v4\abc_ic_menu_share_mtrl_alpha.png: error: file not found.

Error: java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
:app:mergeDebugResources FAILED

J'ai résolu le problème en définissant la maison de l'utilisateur gradle vers un autre emplacement sans caractères blancs ou spéciaux:

C:\Android\.gradle

Vous pouvez le configurer en définissant " Chemin du répertoire de service " dans la boîte de dialogue des paramètres Gradle. Dans mon cas, il était nécessaire de supprimer l'ancien répertoire .gradle sur l'emplacement précédent et de redémarrer android studio.

Jozef
la source
pour moi, le problème était que le nom de fichier était trop long lors de l'exécution de la construction en tant que service C: \ Windows \ System32 \ config \ systemprofile \ .gradle \ .......... set GRADLE_USER_HOME = d: \. gradle corrigé le problème (dans mon cas en tant que variable d'environnement système)
Marc
Merci, cela m'a aidé à résoudre mon problème car j'avais un "é" latin dans le chemin de mon répertoire de services.
Jean-Sébastien Gervais
1
Après Android Studio 3.1, l'onglet de la console Gradle a été supprimé. C'est maintenant dans l'onglet Build. Cliquez sur le bouton 'Toggle View' (dans l'onglet de construction à gauche, sous le bouton marteau) pour changer la vue en sortie Gradle brute pour afficher la véritable erreur qui cause l'erreur
AAPT2
8

Mon problème était dû à un nom de fichier image se terminant par .9.png . J'ai changé la fin en .png et le problème a disparu. Je suis l'indice de la trace de la pile dans la console Gradle: Le message supérieur était « Échec de l' exécution de la tâche: app: mergeDebugResources » et le message de fond était «com.android.builder .png .AaptProcess $ NotifierProcessOutput.out »

J'attends avec impatience le jour où Gradle produira des messages d'erreur plus utiles ...

Samil
la source
8

J'ai juste eu ce problème en essayant d'utiliser la liaison de données et en déclarant la balise de mise en page. Je sais qu'il est un peu tard mais pour le bien de quiconque rencontre ce problème, ce que j'ai fait pour résoudre le problème après tant de tentatives était que sur votre mise en page racine lorsque vous n'utilisez pas de liaison de données, dites par exemple ceci

  <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context=".MainActivity">     </android.support.constraint.ConstraintLayout>

retirer le

xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"

et placez-le simplement sur votre balise de mise en page ( c'est-à-dire si vous utilisez la liaison de données )

<layout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools">

</layout>

et j'espère que cela fonctionnera. l' android.enableAapt2=falsen'a pas fonctionné pour moi , donc je dois enlever tout et essayer de comprendre pourquoi je reçois l'erreur quand je mets des données d'étiquette de mise en page et l' utilisation de liaison ainsi que je suis venu avec la solution. J'espère que ça aide

CodeAndWave
la source
1
Merci mec! tu m'as sauvé une heure.
Siamak SiaSoft
1
Merci mec! Vous m'avez économisé deux heures!
l33t
7

Avoir le même problème ici. Comme l'a souligné @Izabela Orlowska, ce problème est probablement causé par des caractères spéciaux dans le chemin (fichiers grandle android, ressources, etc.).

Pour moi: avoir řídans le nom du dossier a causé tous les problèmes. Assurez-vous que vous ne disposez pas de caractères spéciaux dans les chemins. Désactiver AAPT2 n'est qu'une «solution» temporaire. Le chemin de votre projet contient des caractères non ASCII Android Studio

Jiří
la source
5

J'ai corrigé l'ERREUR en trois étapes
1. J'ai vérifié le problème SOURCE
2. Fourni la chaîne / texte correct, c'était la CAUSE
3. J'ai nettoyé le projet, vous le trouverez sous BUILD.
Mon projet

Bukunmi
la source
1
Merci m'a aidé à identifier mes problèmes!
Apple Appala
5

Étant donné qu'à un moment donné dans le futur, la prise en charge d'AAPT (1) sera obsolète, il serait bon d'identifier la raison de l'erreur que vous avez signalée.
Pourriez-vous fournir le contenu du fichier \ app \ src \ main \ res \ layout \ topic_view_header.xml? À partir des points d'interrogation, il est possible que vous utilisiez des caractères non ASCII, avec lesquels AAPT2 a encore des problèmes. S'il s'agit bien de caractères non ASCII, veuillez suivre le bogue sur https://issuetracker.google.com/68262818 .

Mise à jour : Le problème est résolu dans la version 3.2.0-alpha11 ou plus récente du plugin gradle android.

Izabela Orlowska
la source
@Konrad 404, @ izabela toujours même problème sur gradle 4.1
Ajay Pandya
@AjayPandya c'est la version gradle, vous devez mettre à jour la version du plugin android gradle. Dans le fichier build.gradle de votre projet, vous devez mettre à jour pour avoir classpath 'com.android.tools.build:gradle:3.2.0-alpha11'.
Izabela Orlowska
4

Mise à jour importante

N'ajoutez pas cette ligne à votre projet comme autres réponses. Parce qu'il est déjà résolu dans les nouvelles versions de Gradle .

Vous pouvez mettre à jour votre version de build gradle au niveau du projetbuild.gradle vers la dernière.

buildscript {
    dependencies {
        // choose latest if available
        classpath 'com.android.tools.build:gradle:3.3.0-alpha06'
    }
}

et gradle-wrapper.properties

// choose latest if available
distributionUrl=https\://services.gradle.org/distributions/gradle-4.9-all.zip

C'est tout! Synchronisez et exécutez, Bingo!

Plus d'informations Documentation Android

Si vous ajoutez, vous recevrez un avertissement android.enableAapt2=false

AVERTISSEMENT: l'option «android.enableAapt2» est obsolète et ne doit plus être utilisée. Utilisez «android.enableAapt2 = true» pour supprimer cet avertissement. Il sera supprimé fin 2018.

Khemraj
la source
C'est la meilleure réponse que j'ai vue jusqu'à présent, car si vous essayez de désactiver aapt2, cela génère une erreur au moment de l'écriture, tout ce que j'avais à faire était de mettre à jour gradle, et après les mises à jour, gradle m'a dit quelle était l'erreur réelle, c'est important en fait, il ne m'a pas permis d'utiliser gradle-4.8 dans le fichier gradle-wrapper.properties, j'ai dû utiliser 4.9 la dernière version, également dans le chemin des dépendances, j'ai dû utiliser gradle: 3.3.0-alpha06
Kingston Fortune
Je vais mettre à jour le message d'origine, donc c'est plus facile à suivre.
Kingston Fortune
Dans quel fichier gradle je dois écrire android.enableAapt2 = false ?
Niki
@nTri Recherchez uniquement la partie Solution de la réponse, vous n'avez pas besoin d'ajouter android.enableAapt2=false.
Khemraj
Heureux de vous aider @nTri :)
Khemraj
2

J'ai également rencontré cette erreur. Pour moi, c'était lors de la modification du SDK cible de 26 à 25. J'ai pu résoudre le problème en modifiant la version de dépendance appcompat de

implementation 'com.android.support:appcompat-v7:26.1.0'

à

implementation 'com.android.support:appcompat-v7:25.4.0'

Cela permettra au compilateur d'accéder aux attributs de style qu'il est actuellement incapable de trouver. Cela résoudra en fait le problème au lieu de masquer le vrai problème comme Enzokie l'a suggéré.

hlbaker
la source
2

Dans mon cas, j'utilisais un mauvais code de couleur #CC00000qui n'est pas valide car il a 7 chiffres mais le code de couleur doit avoir 3 ou 6 ou 8 chiffres plus le préfixe #

Suraj Vaishnav
la source
2

La désactivation de l'AAPT2 pourrait causer un problème lors du développement ultérieur.Dans mon cas, l'erreur a été générée lorsque j'ai créé l'icône de l'application.

<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="108dp"
    android:height="108dp"
    android:viewportWidth="Infinity"
    android:viewportHeight="Infinity">
<path android:fillColor="#26A69A"
      android:pathData="M0,0h108v108h-108z"/>
<path android:fillColor="#00000000" android:pathData="M79,19L79,89"
      android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>

Je le résous en supprimant cette ligne

    android:viewportWidth="Infinity"
    android:viewportHeight="Infinity"
TABZ
la source
2

Comme @Izabela Orlowska l'a souligné: Dans mon cas, le problème est survenu à cause de certains fichiers qui n'ont pas pu être trouvés dans le dossier de cache gradle. (Système d'exploitation Windows)

Le chemin d'accès par défaut se trouvait dans mon dossier utilisateur. le chemin contenait des trémas et un espace. J'ai déplacé le dossier gradle en définissant GRADLE_HOMEet en GRADLE_USER_HOMEvariable d'environnement vers un dossier nouvellement créé sans trémas ni espaces dans le chemin. Cela a résolu le problème pour moi.

Robin J
la source
2

J'ai essayé tout ce qui était suggéré ici et sur de nombreux autres sites, j'ai finalement compris que le problème venait du blocage de Bitdefender aapt ....

Si Bitdefender est installé, vous devez activer individuellement aapt & aapt2 " Application Access ".

J'espère que c'est utile.

mcadamm4
la source
2

Si vous avez vu cette erreur après avoir essayé d'exécuter des tests d'implémentation Android individuels ou des classes de test (en cliquant sur l'icône d'exécution dans la gouttière) dans un projet Kotlin dans Android Studio 3.0.1, vous pouvez contourner l'erreur en exécutant à la place le package de test complet (en cliquant avec le bouton droit sur le package de test et en choisissant "Exécuter les tests dans ...").

Il existe un bogue connu dans Android Studio 3.0.1 qui oblige l'EDI à exécuter des tests d'implémentation Kotlin en tant que tests JUnit réguliers, ce qui a provoqué l'affichage du message d'erreur de l'OP sur ma machine. Le bogue est suivi sur https://issuetracker.google.com/issues/71056937 . Il semble avoir été corrigé dans Android Studio 3.1 Canary 7.

Andrew Marshall
la source
2

Comme suggéré par d'autres,

android.enableAapt2=false

est la solution la plus courante.

Mais dans mon cas, l'erreur était due à des versions différentes dans compileSdkVersion et buildToolsVersion .

Assurez-vous que la version principale est maintenue de la même manière.

VickyAbishek
la source
"compileSdkVersion et buildToolsVersion" est la première chose à vérifier
vgulkevic
Ne pas utiliser ce android.enableAapt2 = false,
Saurabh Gaddelpalliwar
N'utilisez pas ce android.enableAapt2 = false, ce n'est pas une solution. trouver l'erreur qui est exactement affichée dans votre boîte de sortie de construction, cliquez sur Basculer la vue pour trouver l'erreur ou l'exception exacte utilisez compileSdkVersion 28 buildToolsVersion "28.0.3" et suivez les instructions supprimer ou mettre à jour la bibliothèque externe ou les dépendances
Saurabh Gaddelpalliwar
2

J'obtenais cette erreur lorsque le nom du projet était très long et que l'emplacement dans lequel je sauvegardais le projet y était ajouté. Le déplacement du projet vers un autre emplacement afin que les noms de fichiers ne dépassent pas la limite du système a résolu l'erreur pour moi.

C:\Users\<UserName>\AndroidStudioProjects\From Github\AdvancedAndroid_Emojify-TLIB.02-Exercise-DetectFaces\AdvancedAndroid_Emojify-TLIB.02-Exercise-DetectFaces\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values\values.xml
Error:error: file not found.
Error:java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
Error:Execution failed for task ':app:mergeDebugResources'.
Error: java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
Tanusha Kamat
la source
2

J'ai également eu un tel problème, l'original est la barre d'état système de mon ordinateur ce chemin:

C: \ Users \ 'apparaît des caractères spéciaux' \ .android est apparu en chinois,

et maintenant j'ai changé le chemin pour:

C: \ Users \ hjc \ .android.

La raison est le problème des caractères spéciaux.C'est pour cette raison que cela conduit à des problèmes de gravier appt2Exception

George Williams
la source
Ceci est maintenant réparé. Si vous mettez à jour vers le plugin android gradle 3.2.0-alpha11 ou plus récent, il fonctionne maintenant avec des caractères non-ascii dans le chemin du fichier.
Izabela Orlowska
2

J'ai eu un problème très similaire. Il a été résolu en supprimant le cache de gradle (~ / .gradle / caches sous Linux), ce qui a forcé Android Studio à tout télécharger et à tout générer.

happylego91
la source
2

La fermeture du projet et le redémarrage d'Android Studio ont résolu ce problème pour moi.

Lors du redémarrage, Android Studio a notifié qu'il devait télécharger les SDK manquants, donc une fois que cela a été réglé, le problème a été résolu.


la source
2

Je ne sais pas si cela a été répondu pour vous, mais permettez-moi de peser. J'ai récemment rencontré un problème similaire et j'ai pu identifier le problème exact à partir de l'onglet de construction à côté du logcat. Mon problème a été causé par une erreur fontfamily dans le XML. J'utilise la dernière version d'Android Studio avec la mise à jour de mars 2018.

Bête77
la source
2

Assurez-vous que vous utilisez des types de fichiers valides dans votre src/main/res/rawrépertoire. Dans mon cas, j'avais copié un fichier .mov avec un tas d'autres fichiers dans mon répertoire res / raw. Je soupçonne que le problème était qu'aapt essayait de traiter le fichier .mov et ne savait pas quoi en faire.

Tash Pemhiwa
la source
2

J'ai eu exactement le même problème: après la mise à jour vers Android Studio 3.1.2, mon projet ne se compilait pas avec une erreur AAPT2 me disant que certains de mes drawables référencés par styles.xmlne pouvaient pas être trouvés. Désactiver AAPT2 n'est plus une solution, car le paramètre est obsolète et sera supprimé à la fin de 2018.

Coupable était une ligne vide juste avant la déclinaison xml dans un layout.xmlfichier totalement indépendant ... Donc le layout.xmlfichier a commencé comme ceci:

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

Suppression de la ligne vide et tout a fonctionné à nouveau comme un charme. Incroyable et improbable, mais vrai.

Android Studio a en fait donné un avertissement car le fichier ne commençait pas par la déclinaison xml (à cause de la ligne vide). Mais l'avertissement n'est visible que lorsque le fichier est ouvert dans l'éditeur.

Andy
la source
2

Ce message d'erreur (erreur AAPT2: vérifiez les journaux pour plus de détails) n'est pas utile car il ne vous indique pas le vrai problème.

Dans mon cas, c'était dû à un fichier dessinable XML de ressource manquant.

error: failed linking file resources.

org.gradle.tooling.BuildException: Failed to process resources, see aapt output above for details.

Je n'ai compris que parce que j'ai annulé les modifications dans le fichier XML, et cette fois j'ai reçu un message plus utile:

error: resource drawable/ic_filter_off (aka com.xxx:drawable/ic_filter_off) not found.

Message{kind=ERROR, text=error: resource drawable/ic_filter_off (aka com.xxx:drawable/ic_filter_off) not found., sources=[C:\code\xxx\app\src\main\res\layout\app_bar_main.xml:69], original message=, tool name=Optional.of(AAPT)}
l'amour en direct
la source
2

Dans mon cas, le vrai problème était qu'après avoir généré Image Asset pour générer l'icône mipmap du lanceur pour mon projet, le fichier généré ic_launcher_foreground.xml avait une erreur à l'intérieur (a été généré à tort). Il manquait une balise XML de fermeture à la fin du fichier, </ vector> manquait.

user3098756
la source
2

Vérifiez et essayez les choses ci-dessous. Le problème doit être résolu.

  1. Tout d'abord, vérifiez votre journal depuis le bas de la fenêtre de construction si une erreur liée à l'affichage du projet ou non. Si une erreur s'affiche, corrigez tout cela. Maintenant, compilez et exécutez à nouveau, corrigez toutes les erreurs. Cela éliminera le problème aapt2 sans changer le plugin Android Gradle en 3.2.0.

  2. Deuxièmement, s'il n'y a aucune erreur liée au projet affichée dans le journal de construction mais affichant toujours une erreur aapt2, vous pouvez la corriger en suivant les étapes ci-dessous.

Mettez à jour votre plugin android gradle dans votre build.gradlefichier de niveau projet comme ci-dessous:

classpath 'com.android.tools.build:gradle:3.2.0-alpha13'

Maintenant, mettez à jour android.enableAapt2=true. Ensuite, vérifiez et construisez votre projet.

Chacune de ces étapes devrait permettre de résoudre les problèmes liés à aapt.

0xAliHn
la source
2

Si vous utilisez Kotlin, vous obtenez une erreur à cause de certaines erreurs dans les fichiers xml. Dans kotlin, il est très difficile de trouver des erreurs xml, la construction échoue simplement. Pour connaître le journal des erreurs exact, exécutez la commande ci-dessous dans Android Studio Terminal et il est facile de corriger les erreurs.

./gradlew clean
./gradlew assemble
Naveen Kumar M
la source
L'utilisation de ceux-ci dans le terminal montre en fait l'erreur exacte. Dans mon cas, c'était un attr de visibilité vide. Je vous remercie!
Rami Jemli
2

J'ai eu la même erreur AAPT2: vérifiez les journaux pour plus de détails et j'ai appliqué les solutions ci-dessus, selon la solution la plus courante, j'ai été ouvert gradle.properties et ajouter une ligne

android.enableAapt2 = false

pour la solution, mais j'ai eu une erreur Processus 'command' D: \ Android \ sdk \ Sdk \ build-tools \ 27.0.3 \ aapt.exe '' terminé avec une valeur de sortie différente de zéro 1

Mais après de nombreuses recherches, j'ai trouvé qu'il y avait un problème dans le fichier xml de la mise en page que je répétais des lignes dans le fichier xml de la mise en page qui est comme ci-dessous:

xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"

Supprimez les lignes de répétition du fichier xml et reconstruisez le projet et terminé.

hetuka kodekar
la source
2

Vérifiez les éléments suivants dans votre projet:

  • Assurez-vous qu'aucun fichier XML ne dispose d'espace vide au démarrage du fichier.

  • Assurez-vous qu'aucun fichier pouvant être dessiné ne présente de problèmes tels que des lettres majuscules ou des symboles spéciaux dans le nom.

  • Si votre aapt2.exe manque continuellement, veuillez analyser votre PC complet, il y a peut-être un virus qui supprime adb.exp ou aapt2.exe

J'espère que vous obtiendrez une solution.

Pratik Butani
la source