Ошибка AAPT Android Studio

Я получаю ошибку Aapt во всех моих проектах Android. При поиске решения, которое я нашел, может помочь android.enableAapt2 = false, но я постоянно получаю такие ошибки, как;

Caused by: java.util.NoSuchElementException
    at com.google.common.collect.AbstractIndexedListIterator.next(AbstractIndexedListIterator.java:80)
    at com.google.common.collect.Iterators.getOnlyElement(Iterators.java:315)
    at com.google.common.collect.Iterables.getOnlyElement(Iterables.java:263)
    at com.android.builder.internal.aapt.v1.AaptV1.makePackageProcessBuilder(AaptV1.java:202)
    at com.android.builder.internal.aapt.AbstractProcessExecutionAapt.makeValidatedPackage(AbstractProcessExecutionAapt.java:67)
    at com.android.builder.internal.aapt.AbstractAapt.link(AbstractAapt.java:34)
    at com.android.builder.core.AndroidBuilder.processResources(AndroidBuilder.java:807)
    ... 56 more

Я уже переустановил Android Studio, Android SDK и попытался удалить файлы настроек. Когда я не использую android.enableAapt2 = false, я получаю

Error: java.util.concurrent.ExecutionException: com.android.builder.internal.aapt.v2.Aapt2Exception: AAPT2 error: check logs for details

    Caused by: java.util.concurrent.ExecutionException: com.android.builder.internal.aapt.v2.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$compile$0(QueueableAapt2.java:136)
    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.builder.internal.aapt.v2.Aapt2Exception: AAPT2 error: check logs for details
    at com.android.builder.png.AaptProcess$NotifierProcessOutput.handleOutput(AaptProcess.java:443)
    at com.android.builder.png.AaptProcess$NotifierProcessOutput.err(AaptProcess.java:395)
    at com.android.builder.png.AaptProcess$ProcessOutputFacade.err(AaptProcess.java:312)
    at com.android.utils.GrabProcessOutput$1.run(GrabProcessOutput.java:104)

Я использую Android Studio 3.1.1 build 173.4697961.

edit: Я также попытался очистить проект, а также запустить .gradlew clean, rebuild ect.

изменить: я использую Gradle 4.4 и Android Studio 3.1.1. Я очистил кеш и перезапустил, а также удалил папку .gradle / cache из своей учетной записи.

Как вы переустановили Android Studio и SDK? Вы удалили все файлы, связанные с этими двумя перед установкой?

Itoun 16.04.2018 13:16

Да. Я удалил папку SDK, настройки Android Studio и удалил Android Studio. Перезагрузил и все скачал, чтобы установить заново

Daniel.roek 16.04.2018 13:23

Первый - это ошибка при вызове AAPT1. Вы не должны отключать AAPT2, так как AAPT1 скоро будет отключен. Чтобы найти проблему с AAPT2, вам необходимо вставить полный журнал сборки с ошибками из AAPT2.

Izabela Orlowska 17.04.2018 17:41
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
5
3
20 638
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Я получал ту же ошибку, вот шаги, которые я выполнил, чтобы ее решить.

-update all files in app.gradle its asking for. 
- update all files in build. gradle its asking for. 
- invalidate cache and restart Android studio.

Aapt2 включен по умолчанию, когда вы используете плагин android для gradle 3.0. так что откройте gradle.properties и добавьте android.enableAapt2=false как показано здесь https://i.stack.imgur.com/lWyT2.png

Он ни о чем не просит. Я использую Gradle 4.4 и Android Studio 3.1.1. Я очистил кеш и перезапустил, а также удалил папку .gradle / cache из своей учетной записи.

Daniel.roek 16.04.2018 13:51

откройте gradle.properties и добавьте android.enableAapt2 = false

Jyot 17.04.2018 07:50
Ответ принят как подходящий

Я исправил это, переустановив свой компьютер. Проблема была вызвана тем, что в моем имени пользователя использовался символ ë.

это может произойти, если вы редактировали файл String.xml. сбросить Strings.xml

Вы можете объяснить больше?

Axes Grinds 20.02.2021 06:21

если вы отредактируете сгенерированный String.xml вручную, эта ошибка может произойти.

Batz 05.03.2021 11:03

Другие вопросы по теме