Прежде чем читать решение ниже, пожалуйста, прочитайте мое обновление от 01.04.2020, проблема глубже и она есть в вашем коде.
У меня та же проблема после обновления 3.6.
* Быстрое решение: *
- удалить projectFolder \ build
- удалить projectFolder \ debug *
- удалить projectFolder \ release *
- удалить projectFolder \ app \ build
- удалить projectFolder \ app \ build \ debug *
- удалить projectFolder \ app \ build \ release *
Поэтому вам нужно удалить все каталоги сборки, отладки и выпуска.
Обратите внимание, что вы не сможете удалить целые каталоги отладки и выпуска , но вы можете удалить все их содержимое.
UPD:
Я думаю, что они исправили эту ошибку сегодня:
UPD 03.03.2020:
К сожалению, ошибка не исправлена.
UPD 01.04.2020:
(не шутка 1 апреля :))
Уже месяц я работал с разработчиками Android Studio, и сегодня мне сказали использовать jdk вместо jre, потому что это было из-за одной из глубоких ошибок в логах.
После установки jdk ( Файл-> Структура проекта- > Расположение SDK- > Расположение JDK ) вместо jre у меня появилось несколько других ошибок, которые не были показаны в «выводе сборки», поэтому я запускаю Анализ -> Проверить код и получаю ВОСЕМЬ ошибок такие как ссылка на неправильный идентификатор вида в макетах, ошибки с ориентацией (привет к tools:ignore="MissingDefaultResource"
) и ошибки в манифесте также с ориентацией: я прочитал, что это новое обновление в 3.6.1 - о ландшафте или портрете screenOrientation
, быстро исправленное Studio с помощью этого:
<activity
tools:ignore="LockedOrientationActivity" />
Когда все ошибки были исправлены с помощью Analyze -> Inspect Code, я успешно сгенерировал подписанный APK с помощью jdk, а затем с помощью jre (только для тестирования).
Итак, в итоге, эта ошибка вызвана из-за глубоких ошибок, которые вы можете обнаружить только с помощью Inspect Code
инструмента.
Я думаю, что AS не будет думать, что это ошибка, я думаю, они сказали, что это новая функция для улучшения вашего кода. Также я думаю, что вы должны попытаться проверить свой код, даже не устанавливая jdk вместо jre.
Дополнительные рекомендации от службы поддержки AS:
Кстати, при экспорте release
сборки мы также запускаем lintVital
некоторые дополнительные проверки и отмечаем некоторые ошибки как fatal
. Эта проверка стоит дорого, поэтому она не происходит в debug
сборках
projectFolder\app\[all flavor folders]
тоже.Build > Rebuild Project
исправил это для меня, в Android Studio 3.6.2.При создании apk проверьте папку назначения, из которой удалите output.json и app-debug.apk из папки отладки. Попробуйте построить то же самое после этого. AFAIK, это ошибка для Android Studio, надеюсь, они могут исправить это в ближайшее время :)
источник
Я удалил предыдущие результаты сборки для варианта сборки, включая файл APK. Вот что мне помогло
источник
build
каталог в целом, все еще получил ту же проблему. Можете ли вы уточнить, что вы сделали в полном объеме?Это происходит, когда вы использовали автоматическое viewBinding, Binding с использованием Kotlin или функцию viewBinding 3.6.
В случае, если вы добавляете файлы, элементы которых имеют одинаковые идентификаторы, ViewBinding сбивает с толку и создает такую ошибку.
Позвольте мне помочь вам на примере класса Adapter, который имеет два файла макета, разделенных по представлению Тип:
// который в случае путаницы, какой ресурс или макет полностью соответствуют требованию, bcoz имеют одинаковые идентификаторы кнопки. в случае, если вы должны использовать:
которые позволяют старую реализацию.
Дайте мне знать, если это работает на вашей стороне?
источник
У меня была та же ошибка после обновления Android Studio, и я исправляю проблему, только очистив проект (Build> Clean Project)! :)
источник