Исключение: ошибка AAPT2: проверьте подробности в журналах

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$1.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$1.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.access$200(DefaultTaskPlanExecutor.java:80)
    at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:105)
    at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.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$1.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$1(QueueableAapt2.java:179)
    at com.android.builder.internal.aapt.v2.QueueableAapt2$$Lambda$489/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$1.run(GrabProcessOutput.java:104)

Где будут сохраняться журналы AAPT2? При переходе на gradle-plugin-3.0.0 я получаю это исключение.

Ответ 1

Сегодня утром я столкнулся с этой проблемой и тоже нашел решение. Эта проблема возникает, когда вы испортили один из ваших XML файлов. Я предлагаю вам просмотреть их один за другим и посмотреть последние изменения. Это может быть вызвано глупой ошибкой.

В моем случае я случайно жестко закодировал цветную строку как #FFFFF (я знаю, что это плохая практика). Как вы можете видеть, у него было 5 F вместо 6. Он не показывал никаких предупреждений, но был причиной той же проблемы, с которой вы столкнулись.

Редактировать 1: Еще одна вещь, которую вы можете сделать, это запустить ассемблер в вашей консоли Gradle. Он найдет конкретную строку для вас.

Редактировать 2: Добавление изображения для справки, чтобы запустить assemblyDebug.

enter image description here

Ответ 2

AAPT2 Решение ошибок.

Если ваша Android студия была обновлена.

Возможно, вы столкнетесь с ошибкой в студии, такой как " Ошибка AAPT 2: проверьте журнал для деталей "

Эта ошибка возникает, когда вы сделали что-то не так в своем XML файле, например, неверное значение, содержимое не найдено и т.д.

Но в то время у вас не будет спецификации ошибки там. Потому что новая версия Android Studio не дает вам конкретной ошибки. Это дает как ошибку AAPT2.

Если вы хотите знать, где настоящая ошибка

Следуйте шаг.

  1. Посмотрите на панель, которая находится справа от вашей студии Android. Откройте вкладку "Gradle" и нажмите на нее.
  2. Вы увидите опцию "приложение". Нажмите здесь.
  3. В опциях приложения вы увидите [Tasks → build], щелкните по нему.
  4. После этого вы получите список опций и увидите двойной щелчок на "AssemblyDebug".
  5. Сохраняйте терпение и смотрите вкладку "Сборка" на нижней панели Android-студий, там вы получите конкретную ошибку.

Click on assembleDebug and see log you can get the actual error is where

Ответ 3

Ошибка может быть вызвана символами не-ASCII в пути градиента. Например, кириллические символы пользовательской папки. Таким образом, проблема решена только путем перехода на другой каталог с ASCII-единственным путем.

Troublesome gradle path

Ответ 4

Я исправил ОШИБКУ в три этапа
1. Я проверил на проблему ИСТОЧНИК
2. Предоставил правильную строку/текст, потому что это была ПРИЧИНА
3. Я очистил проект, вы увидите его в разделе BUILD.

enter image description here

Ответ 5

Просто добавьте эту строку в соответствии с вашим compileSdkVersion

buildToolsVersion "27.0.3"

Update Build Tools Version

Ответ 6

Проверьте последний отредактированный файл XML. Это главный Виллиан У меня была такая ошибка, я тогда проверил последний файл xml, ther была строкой вроде android:layout_marginTop="." Я изменил его на android:layout_marginTop="16dp". Это исправило ошибку!

Ответ 7

У вас может возникнуть проблема с файлом png, смотрите здесь:

1 еще вызвано: com.android.tools.aapt2.Aapt2Exception: ошибка AAPT2: проверить журналы для получения дополнительных сведений в com.android.builder.png.AaptProcess $ NotifierProcessOutput.handleOutput(AaptProcess.java:454)

Это может быть поврежденное изображение или jpeg-изображение с расширением png

Ответ 8

Если вы получаете эту ошибку только тогда, когда вы генерируете подписанный Apk. Тогда проблема может быть в одном или нескольких форматах импортированных медиафайлов. Я использовал изображение напрямую из сети в студию и не смог сгенерировать знак apk, затем обнаружил ошибку.

из Gradle> assemblyRelease, затем получил ошибку в консоли. см. журнал ошибок в образе консоли. This was my Error, See its clearly written that one of my image format is not valid or unknown

Ответ 9

Убедитесь, что изображение в папке для рисования не повреждено.

Ответ 10

Я столкнулся с подобной проблемой. Ответ Akilesh awasthi помог мне исправить это. Моя проблема была немного иной. Я использовал значок places_ic_search из com.google.android.gms: play-services-location Последняя версия com.google.android.gms: play-services-location: 15.0.0 не предоставляет значок places_ic_search. Из-за этого возникла проблема в файлах layout.xml. Это привело к сбою ошибки AAPT2: проверьте журналы для получения подробной информации в качестве сообщения. Студия Android должна показывать, не может найти drawable_search как сообщение вместо этого.

В результате я временно использовал более низкую версию com.google.android.gms: play-services-location. Надеюсь, это поможет кому-то в будущем.

Ответ 11

Я сделал глупую ошибку. В моем случае я сделал слишком большой путь проекта. C:\Users\Administrator\Desktop\Intsig_Android_BCRSDK_AndAS_V1.11.18_20180719\Intsig_Android_BCRScanSDK_AndAS_V1.10.1.20180711\project\as\AS_BcrScanCallerSvn2: C:\Users\Administrator\Desktop\Intsig_Android_BCRSDK_AndAS_V1.11.18_20180719\Intsig_Android_BCRScanSDK_AndAS_V1.10.1.20180711\project\as\AS_BcrScanCallerSvn2

Перенесите проект в нужное рабочее пространство. Надеюсь, это поможет кому-то в будущем.

Ответ 12

Я попробовал каждое возможное решение, чтобы исправить эту расстраивающую ошибку, и только ниже работал для меня. В вашем build.gradle добавьте это:

android {
    aaptOptions.cruncherEnabled = false
    aaptOptions.useNewCruncher = false  }

Ответ 13

fooobar.com/questions/1273785/...

Ответ Akhilesh Awasthi был верным для меня. Я просматриваю свой XML файл и узнаю, что в одном из TextView я установил android:layout_height="20" без 'dp'. Не знаю, почему, но в Android Studio 3.1 Canary 6, если вы редактируете в инструменте Designer, ваши единицы пользовательского интерфейса не добавили в xml. Это может быть ошибка Canary версии. Попробуйте тщательно изучить все элементы в недавно отредактированном xmls

Ответ 14

На всякий случай выше решение не сработало. В моем случае Bitdefender Antivirus предупреждал AAPT2 о внесении изменений в определенный файл.

Ответ 15

Для меня я получил эту ошибку, работая над некоторыми проектами Udacity. Я исправил это, добавив следующий код в файл build.gradle верхнего уровня.

allprojects {
    String osName = System.getProperty("os.name").toLowerCase()
    if (osName.contains("windows")) {
        buildDir = "C:/tmp/${rootProject.name}/${project.name}"
    }
    repositories {
        jcenter()
        google()
    }
}

Ответ 16

Если вы ищете способ понять суть проблемы. Студия Android содержит функцию на панели редактирования настроек, которая упрощает это. Нажав на тег "приложение" (обычно он находится слева от кнопки верхнего запуска)

Вы откроете возможность редактирования конфигураций. Оттуда создайте экземпляр опции gradle для себя.

Основные функции - это проект градиента, а также задача. Подключите задачу к инициативе отладки.

Когда вы запустите приложение через этот параметр, Android выплюнет подробные ошибки (что мы все хотели бы появляться чаще), и эти ошибки будут прямо указывать на то, что нужно решить.

Ответ 17

У меня была эта ошибка и нет значимого сообщения, чтобы сказать мне, что было не так. Я наконец удалил эту строку из gradle.properties и получил осмысленное сообщение об ошибке.

android.enableAapt2=false

В моем случае кто-то из команды изменил расширение .jpg на .png, а заголовок файла не соответствовал расширению. Веселье.

Ответ 18

style="?android:attr/android:progressBarStyleSmall"

в

style="?android:attr/progressBarStyleSmall"

Ответ 19

Я также получил ту же ошибку из-за использования символа & непосредственно в макете XML. Поэтому, пожалуйста, будьте осторожны с использованием HTML-сущностей в вашем проекте.

Ответ 20

Возможная проблема, связанная с этим, может быть с вашими XML файлами. Я столкнулся с этим, когда удалил свои файлы без проблем xml.

Для устранения этой ошибки в gradle.properties модуля добавьте следующую строку:

android.enableAapt2=false

после добавления этой строки перезапустите gradle.

и выполните очистку, перестройте свой проект.

Ответ 21

Это решило проблему для меня... Build | Очистить проект Refactor | Удалить неиспользуемые ресурсы Я все еще новичок в этом, поэтому я не могу объяснить, почему это могло сработать. Это был произвольный выбор с моей стороны; это было просто, не требовало подробных изменений, и я просто подумал, что это может помочь :)

Ответ 22

некоторые символы должны быть переданы как '%'

<string name="test" formatted="false">95%</string>