Erreur AAPT2: vérifiez les journaux pour plus de détails

Task :processDebugResources Failed to execute aapt com.android.ide.common.process.ProcessException: Failed to execute aapt
    at com.android.builder.core.AndroidBuilder.processResources(AndroidBuilder.java:796)
    at com.android.build.gradle.tasks.ProcessAndroidResources.invokeAaptForSplit(ProcessAndroidResources.java:551)
    at com.android.build.gradle.tasks.ProcessAndroidResources.doFullTaskAction(ProcessAndroidResources.java:285)
    at com.android.build.gradle.internal.tasks.IncrementalTask.taskAction(IncrementalTask.java:109)
    at sun.reflect.GeneratedMethodAccessor200.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73)
    at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore$IncrementalTaskAction.doExecute(DefaultTaskClassInfoStore.java:173)
    at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore$StandardTaskAction.execute(DefaultTaskClassInfoStore.java:134)
    at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore$StandardTaskAction.execute(DefaultTaskClassInfoStore.java:121)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.run(ExecuteActionsTaskExecuter.java:122)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:197)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:107)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:111)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:92)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:70)
    at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:63)
    at org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:54)
    at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
    at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:88)
    at org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:52)
    at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
    at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:54)
    at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
    at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:34)
    at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.run(DefaultTaskGraphExecuter.java:248)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:197)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:107)
    at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:241)
    at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:230)
    at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.processTask(DefaultTaskPlanExecutor.java:124)
    at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.access0(DefaultTaskPlanExecutor.java:80)
    at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.execute(DefaultTaskPlanExecutor.java:105)
    at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.execute(DefaultTaskPlanExecutor.java:99)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.execute(DefaultTaskExecutionPlan.java:625)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.executeWithTask(DefaultTaskExecutionPlan.java:580)
    at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.run(DefaultTaskPlanExecutor.java:99)
    at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
    at org.gradle.internal.concurrent.ManagedExecutorImpl.run(ManagedExecutorImpl.java:46)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
    at java.lang.Thread.run(Thread.java:745) Caused by: java.util.concurrent.ExecutionException: java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
    at com.google.common.util.concurrent.AbstractFuture.getDoneValue(AbstractFuture.java:503)
    at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:482)
    at com.google.common.util.concurrent.AbstractFuture$TrustedFuture.get(AbstractFuture.java:79)
    at com.android.builder.core.AndroidBuilder.processResources(AndroidBuilder.java:794)
    ... 47 more Caused by: java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
    at com.google.common.util.concurrent.AbstractFuture.getDoneValue(AbstractFuture.java:503)
    at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:462)
    at com.google.common.util.concurrent.AbstractFuture$TrustedFuture.get(AbstractFuture.java:79)
    at com.android.builder.internal.aapt.v2.QueueableAapt2.lambda$makeValidatedPackage(QueueableAapt2.java:179)
    at com.android.builder.internal.aapt.v2.QueueableAapt2$$Lambda9/579799618.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    ... 1 more Caused by: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
    at com.android.builder.png.AaptProcess$NotifierProcessOutput.handleOutput(AaptProcess.java:454)
    at com.android.builder.png.AaptProcess$NotifierProcessOutput.err(AaptProcess.java:411)
    at com.android.builder.png.AaptProcess$ProcessOutputFacade.err(AaptProcess.java:332)
    at com.android.utils.GrabProcessOutput.run(GrabProcessOutput.java:104)

d'Où l' aapt2 journaux seront sauvés? Lors de la migration vers gradle-plugin-3.0.0, j'obtiens cette exception.

34
demandé sur Sneh Pandya 2017-12-01 12:03:17

13 réponses

je suis tombé sur cette question aujourd'hui matin et j'ai trouvé la solution pour elle aussi. Ce problème est créé lorsque vous avez foiré un de vos .des fichiers xml. Je vous suggère de les parcourir un par un et de chercher les changements récents. Il peut être dû à une stupide erreur.

dans mon cas, j'ai accidentellement codé une chaîne de couleur comme #FFFFF (mauvaise pratique, je sais). Comme vous pouvez le voir, il avait 5 F au lieu de 6. Il n'a montré aucun avertissement, mais a la racine du problème rencontré par vous.

Edit 1: une Autre chose que vous pouvez faire est de courir assembleDebug dans votre console Grad. Il trouvera la ligne spécifique pour vous.

Edit 2: Ajouter une image pour référence pour exécuter assembleDebug.

enter image description here

69
répondu Akhilesh Awasthi 2018-06-04 06:56:56

l'erreur peut être causée par des symboles non-ASCII dans gradle path. Par exemple: symboles cyrilliques du dossier utilisateur. Ainsi, le problème est résolu simplement en passant à un autre répertoire avec chemin ASCII-only.

Troublesome gradle path

8
répondu Dmitry Nevzorov 2018-05-10 17:46:18

j'ai corrigé l'erreur en trois étapes

1. J'ai vérifié pour le problème de la SOURCE

2. Fourni la chaîne correcte / texte, parce que c'était la CAUSE

3. J'ai nettoyé le projet, vous le verrez SOUS Construction.

enter image description here

5
répondu Bukunmi 2018-04-25 13:23:07

consultez le dernier fichier XML modifié. C'est le principal Méchant J'ai eu une fois une telle erreur, j'ai ensuite vérifié le dernier fichier xml, il avait une ligne comme android:layout_marginTop="." Je l'ai changé pour android:layout_marginTop="16dp". Ça a réparé le bug!

3
répondu Kune Mohith 2018-04-06 12:07:38

Vous avez un problème avec un fichier png, peut-être, regarde ici :

1 plus causé par: com.Android.outils.aapt2.Aapt2Exception: AAPT2 erreur: vérifier les journaux pour plus de détails au com.Android.constructeur.png.AaptProcess$NotifierProcessOutput.handleOutput (AaptProcess.java: 454)

il peut être Image corrompue ou image jpeg avec l'extension png

2
répondu nasser 2018-04-10 23:27:10

il suffit d'ajouter cette ligne selon votre compileSdkVersion

buildToolsVersion "27.0.3"

Update Build Tools Version

2
répondu Mayur Sojitra 2018-09-05 15:52:11

j'ai été confronté au même problème. Akilesh awasthi réponse m'a aidé à le résoudre. Mon problème était un peu différent. J'ai été en utilisant places_ic_search icône à partir de com.Google.Android.gms:services-lieu La dernière version com.Google.Android.gms:services-lieu:15.0.0 ne fournit pas l'icône places_ic_search. Pour cette raison, il y avait un problème dans la disposition.des fichiers xml.Cela a conduit à l'échec de la construction AAPT2 erreur: vérifiez les journaux pour détails comme message. Android studio devrait montrer ne peut pas trouver de places_ic_search dessiner que le message à la place.

j'ai fini par utiliser une version inférieure de com.Google.Android.gms:jouer-services-emplacement temporairement. Espérons que cela aide quelqu'un dans le futur.

1
répondu mohammed nathar 2018-05-04 06:23:05

juste au cas où la solution ci-dessus ne fonctionnerait pas. Dans mon cas , L'Antivirus Bitdefender empêchait AAPT2 de faire des modifications sur certains fichiers.

1
répondu solid 2018-07-31 11:30:22

j'ai fait une erreur stupide. Dans mon cas, j'ai fait le chemin du projet trop profond. Comme ceci: C:\Users\Administrator\Desktop\Intsig_Android_BCRSDK_AndAS_V1.11.18_20180719\Intsig_Android_BCRScanSDK_AndAS_V1.10.1.20180711\project\as\AS_BcrScanCallerSvn2

veuillez migrer le projet vers le bon espace de travail. Espérons que cela aide quelqu'un dans le futur.

1
répondu Sanche 2018-08-17 07:26:22

problème possible lié à cela peut être avec vos fichiers XML. J'ai fait face à cela lorsque j'ai supprimé mes fichiers xml non protégés.

Pour remédier à cette erreur de gradle.propriétés du module, ajoutez cette ligne ci-dessous:

android.enableAapt2=false

après avoir ajouté cette ligne, redémarrez le Grad.

et une fois nettoyé, reconstruisez votre projet.

0
répondu amit pandya 2018-02-05 09:09:19

pour moi, j'ai eu cette erreur en travaillant sur des projets Udacity. Je l'ai corrigé en ajoutant le code suivant à haut niveau la construction.dossier gradle.

allprojects {
    String osName = System.getProperty("os.name").toLowerCase()
    if (osName.contains("windows")) {
        buildDir = "C:/tmp/${rootProject.name}/${project.name}"
    }
    repositories {
        jcenter()
        google()
    }
}
0
répondu Beast77 2018-09-21 13:02:36

ceci a résolu le problème pour moi... Projet de construction / Nettoyage Reformuler|supprimer les ressources inutilisées Je suis encore un débutant dans ce domaine et je ne peux donc pas expliquer pourquoi cela aurait pu fonctionner. C'était un choix arbitraire de ma part; c'était simple, ne nécessite pas de changements de détail et j'ai juste pensé que ça pourrait aider :)

0
répondu Mick 2018-10-12 18:36:21

certains symboles doivent être transférés comme'%'

<string name="test" formatted="false">95%</string>
-2
répondu yaoyue1019 2018-05-02 13:00:44