Где найти логи aapt2?

Когда я пытаюсь собрать свой проект, я получаю следующую ошибку:

введите описание изображения здесь

В конце сказано: подробности смотрите в журналах. Где найти журналы aapt2?


person Eugene Chumak    schedule 23.01.2018    source источник
comment
См. Вкладку консоли Gradle в правом нижнем углу.   -  person azizbekian    schedule 23.01.2018
comment
Здесь нет проблем: i.gyazo.com/5112ae4bbefdcf36b861acf341f442c6.png Gradle builds fine. Проблема возникает при попытке собрать apk.   -  person Eugene Chumak    schedule 23.01.2018
comment
@EugeneChumak, что вы имеете в виду под "попыткой собрать apk"? Всякий раз, когда вы создаете свой проект (будь то «Запуск приложения», «Создать проект», «Перестроить проект» или «Сборка APK (ов)»), сборка происходит через Gradle, а результат сборки находится в консоли Gradle. вкладка, как уже упоминал азизбекян. Если вы получаете сообщение об ошибке, здесь будут журналы и подробности. Если у вас по-прежнему возникают проблемы, перейдите в каталог проекта и запустите ./gradlew clean assemblyDebug ›› out.txt и разместите здесь содержимое.   -  person Izabela Orlowska    schedule 23.01.2018
comment
Под сборкой apk я подразумеваю Build - ›Make Project. Похоже, проблема заключалась в неправильной конфигурации запуска. Когда я начал сборку, консоль gradle просто не обновлялась, поэтому я видел результаты предыдущей сборки.   -  person Eugene Chumak    schedule 23.01.2018


Ответы (1)


ПРИМЕЧАНИЕ. относительно отключения AAPT2 - не лучшая идея. AAPT в настоящее время устарел и будет удален к концу 2018 года. Его отключение лишь задерживает проблемы, которые вам придется решать в любом случае, когда AAPT устарел и будет удален.


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

Используя AS 3.1 (возможно, также 3.0, я использую 3.1, поэтому я не могу там протестировать) или IntelliJ 2018.1, вы открываете вкладку сборки:

введите описание изображения здесь

В этом случае я намеренно создал синтаксическую ошибку в некотором XML-коде (есть и другие места, где вы также можете получить ошибки AAPT2, например, в манифесте или Kotlin, или где-то еще. Это просто для демонстрации). Я выделил кнопку на изображении. При наведении курсора на кнопку должно быть написано «Переключить вид». Щелкните по нему, и вы войдете в текстовую версию вкладки сборки:

введите описание изображения здесь

В этом случае я установил для свойства XML несуществующее значение. Фактическая проблема отформатирована как JSON (см. Содержимое красного кружка). Внутри розового находится фактическое сообщение об ошибке (ресурс не найден), синий кружок содержит файл (в данном случае label_layout.xml), а содержимое черного кружка содержит местоположение (строка 4).

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


Для справки то же самое относится к ошибкам компиляции:

введите описание изображения здесь

Хотя синтаксис немного отличается:

введите описание изображения здесь


Значок изменился в более поздней версии. Я не буду поддерживать активные обновления самого значка, кроме этого.

Для справки в будущем: наведите указатель мыши на кнопки в окне сборки, пока не найдете кнопку с надписью «Toggle view»:

введите описание изображения здесь

Это та кнопка, которую вы ищете, независимо от того, какой значок Google решит использовать для нее в будущих версиях Android Studio - по крайней мере, пока они не исправят проблемы.

person Zoe    schedule 03.06.2018
comment
Я использую AS 3.3, и кнопка, которую вы нажимаете, не отображается в моем окне сборки. - person Matt; 30.05.2019
comment
@MattD обновлен. Решили видимо поменять иконку. - person Zoe; 30.05.2019