Ошибка, связанная с resources_ap после обновления до Android Studio 3.4


79

Сегодня я обновил Android Studio 3.4. Я больше не могу запускать приложение. Я очищал проект, много раз перезапускал студию Android. Я также сделал недействительным кеш безрезультатно. При установке приложения я получаю следующую ошибку:

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:transformDexWithInstantRunSlicesApkForDebug'.
> java.lang.RuntimeException: java.io.FileNotFoundException: E:\...\app\build\intermediates\instant_run_split_apk_resources\debug\instantRunSplitApkResourcesDebug\out\slice_1\resources_ap

Может ли кто-нибудь подсказать, как это исправить?

Изменить: у меня есть два проекта с различным поведением, связанным с этой проблемой:

  1. Первоначально у проекта А была эта проблема. Я отключил Instant Run за ответ, проблема решена. Позже я включил Instant Run, и Project A по-прежнему работает нормально.
  2. В проекте B также была эта проблема, которая была решена отключением Instant Run. Однако проблема возникнет, как только будет включен Instant Run. Я не понимаю, какая разница между этими двумя проектами приводит к этому. Один из подозреваемых - проект библиотеки C. Библиотека C является частью проекта A (т.е. ее исходный код, ресурсы находятся в проекте A). Тем не менее, Project B использует aar библиотеки C в качестве модуля.

6
Отключение мгновенного запуска в настройках устранило проблему для меня (как описано в ответе на « Ошибка: сбой выполнения для задачи»: app: transformDexWithInstantRunSlicesApkForDebug ». Не удалось прочитать zip-файл )
Марко Борхерт

@MarcoBorchert Спасибо. Он начал работать после того, как я отключил Instant Run. Позже я снова включил Instant Run, и он все еще работает. Похоже, что отключение Instant Run не приводит к некоторой очистке, которую невозможно выполнить другими обычными методами очистки. Не могли бы вы превратить свой комментарий в ответ, чтобы я мог его принять?
Гонконг,

@MarcoBorchert Для другого проекта я не могу снова включить Instant Run. Я должен быть в отключке все время.
Гонконг

Ответы:


67

Отключение мгновенного запуска в качестве временного решения (Файл / Настройки / Мгновенный запуск), похоже, устраняет проблему.

Согласно OP, можно снова включить Instant Run без повторения проблемы для некоторых проектов.


94

Проблема должна быть исправлена ​​в Android Studio 3.4.2.


РЕДАКТИРОВАТЬ: Вот мой старый ответ о том, как исправить это в Android Studio 3.4.0 и 3.4.1:

Использование Gradle 5.4 вместо 5.1.1 помогло мне с этой ошибкой.

Обновите файл gradle-wrapper.properties с помощью: distributionUrl=https\://services.gradle.org/distributions/gradle-5.4-all.zip

Обратите внимание, я не тестировал более старые версии Gradle, поэтому возможно, что даже (например) версия 5.2 будет работать. Вы можете увидеть все выпуски Gradle здесь - https://gradle.org/releases/


Спасибо. Я только что попробовал и подтвердил, что это средство работает. К сожалению, я могу принять только один ответ. Я предполагаю, что Google так или иначе решит эту проблему с помощью обновления. Один из способов - принудительное обновление Gradle.
Гонконг

5
@Hong Вы можете изменить принятый ответ. Это решение явно предпочтительнее и более полезно для других читателей, поскольку это не просто обходной путь.
Марко Борхерт

Пожалуйста, простите меня за консервативность в этих вопросах. Я обычно избегаю последних версий, если они не были тщательно протестированы. Я предполагаю, что каждое обновление Android Studio перед его выпуском тестировалось множеством любезных бета-тестеров.
Гонконг

@Hong Что ж, я думаю, мы можем больше доверять тестированию Gradle (поскольку эта версия уже некоторое время была публично выпущена), чем недавно выпущенной Android Studio с этой очевидной проблемой. Также я не тестировал другие версии Gradle, но, возможно, вы можете использовать более старую версию, чем 5.4, если вы не хотите использовать последнюю (также обратите внимание, что последняя версия теперь 5.4.1) - см. Gradle.org/releases Я обновил свой ответ этим Информация.
Робайер

1
Похоже, это сработало на AndroidStudio 3.4 на Mac. Спасибо @Robyer
Хьюго

39

Мгновенный запуск отключать не нужно.
Просто удалите каталог '.gradle' в проекте и создайте каталог внутри модуля 'app'.
Выполните чистый проект и восстановите проект.
Это решит проблему.


5
Правильный для меня ответ! Даже убирать не нужно. Просто удалил папку .gradle (выберите режим «Проект» в левом окне Android Studio).
Regis_AG

2
Правильный ответ! Не нужно отключать мгновенный запуск. Благодаря!
rstewart22

Ооооо да! Это ответ.
Тедди

Большое спасибо! Я боролся около часа, пока не увижу твою подсказку.
Игорь де Лоренци

Оооочень большое спасибо! Я пробовал все, но ничего не вышло. Только это работает. Если бы я только увижу это на несколько часов раньше
user1885498

6

Это вызвано функцией "мгновенного запуска" в android studio 3.4, вы можете отключить ее:

Откройте диалоговое окно настроек или предпочтений. Перейдите к Сборке, Выполнению, Развертыванию> Мгновенный запуск. Снимите флажок рядом с Enable Instant Run

Наслаждаться...!


2

Перейдите в папку своего проекта и переместите все из ... \ app \ build \ в другую папку вне проекта. (чтобы очистить папку сборки с резервным копированием) В моем случае очистка папки сборки решила проблему, до тех пор я отключал опцию мгновенного запуска для каждой новой установки.


3
В моем случае было недостаточно переместить buildкаталог, мне также пришлось переместить, .gradleи это устранило проблему.
carrizo

0

Я пробовал решения «Gradle 5.4» и «Отключение мгновенного запуска», но они не работали, пока я не включил параметр «Ждать отладчик» до «Параметры разработчика» в моем телефоне (Huawei Mate 10). Я подтвердил, что это работает только с выключенным "Instant Run".


0

Эта проблема случилась со мной в Windows. Решил отключив мгновенный запуск. У меня также есть такая же версия Android Studio для Linux, и она отлично работает с включенным мгновенным запуском.



0

Эта же ошибка произошла, когда я обновился до Android Studio 3.4.2, я обновил tools-build-gradle до 3.4.2, и проблема исчезла.


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.