Android Studio 3.1 «Выполнить» не компилирует код

87

Когда я пытаюсь установить приложение, есть две возможности:

  1. Установите существующий APK из папки сборки, когда я запускаю app
  2. Установите APK после выполнения clean build

Для существующего APK в папке сборки приложение работает нормально. Но когда я очищаю проект с помощью Build-> Clean Project, а затем пытаюсь запустить app(то есть установить приложение на мой эмулятор или физическое устройство), он показывает мне ошибку:

Файл APK /Users/MyApplicationName/app/build/outputs/apk/app-debug.apk не существует на диске.

ПРИМЕЧАНИЕ. Это происходит только тогда, когда я очищаю проект, а не когда у меня уже есть предварительно созданный APK приложения в моей папке сборки.

Я упоминал: файла APK не существует на диске, но я хочу сказать, что когда мы обычно запускаем приложение после очистки проекта, нам никогда не нужно создавать его сборку, если APK не существует в папке сборки. , он автоматически генерирует и устанавливает последнюю версию.

Вещи, которые я пробовал:

  1. Запуск приложения, когда файл APK существует в папке сборки (отлично работает)
  2. Запуск Clean Project-> Запуск приложения (ожидается, что проект будет построен, и приложение будет установлено, но оно показывает вышеупомянутую ошибку!)
  3. Тот же процесс очистки и запуска приложения после выполнения Invalidate Caches/Restart
Снех Пандья
источник
3
Build -> Clean Project->Rebuild Project
IntelliJ Amiya
@IntelliJAmiya именно так, как вы сказали, но суть в том, что когда я перестраиваю проект, он определенно работает, но разве он не должен генерировать APK и работать так же, если я запускаю приложение?
Sneh Pandya
Проверьте эту ссылку, чтобы получить ответ: stackoverflow.com/a/49508278/3806413
0xAliHn

Ответы:

151

У меня есть решение твоей проблемы. Надеюсь, это поможет!

Также подтверждено Android Studio в Twitter : https://twitter.com/androidstudio/status/981914632892960768

1) Измените конфигурацию приложения, как показано ниже.

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

2) Здесь вы можете увидеть конфигурацию вашего приложения, как показано ниже.

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

3) Здесь отсутствует атрибут make с поддержкой Gradle в конфигурации перед запуском. Вы можете посмотреть здесь.

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

4) Пожалуйста, добавьте этот атрибут Make с поддержкой Gradle таким образом. Щелкните значок + и выберите «Сделать с учетом Gradle», как показано на этом экране.

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

5) Вы можете добавить это без написания какой-либо задачи, просто нажмите кнопку ОК, и задача будет добавлена, и теперь она должна выглядеть так. Теперь примените изменения и запустите ваше приложение.

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

Надеюсь, это решит эту старую проблему с установкой apk при чистой сборке в новой проблеме Android Studio 3.1.

Примечание. Эта проблема устранена в новой стабильной версии Android Studio 3.1.1 .

Удачного кодирования !!

Сагар Кача
источник
1
Кажется, что если вы измените свой код и запустите приложение, оно не создаст приложение, просто запустив старый код. Это решение сработало для меня.
Vicky
НЕ РАБОТАЕТ: завершение работы завершено через 0 мс. Ошибка при создании зависимостей, разделенных APK com.android.ide.common.process.ProcessException: не удалось выполнить aapt на com.android.builder.core.AndroidBuilder.processResources (AndroidBuilder.java:809) на com .android.builder.core.AndroidBuilder.processResources (AndroidBuilder.java:797) в com.android.build.gradle.internal.transforms.InstantRunSplitApkBuilder.generateSplitApkResourcesAp (InstantRunSplitApkBuilder.java:373)
android51130
@ android51130 У меня работает. Не могли бы вы проверить другую конфигурацию Gradle вашего проекта. Я думаю, это будет проблемой.
Sagar Kacha
@ android51130 Да, именно так. В настоящее время в моей конфигурации отключен мгновенный запуск. Так что это решение работает для меня.
Sagar Kacha
1
У меня долгое время была эта проблема в последней сборке AS 4.2 Canary. Это устранило эту проблему, спасибо.
muthuraj
3

Файл APK /Users/MyApplicationName/app/build/outputs/apk/app-debug.apk не существует на диске.

Может быть ошибка. Вам следует изменить настройки.

Вы должны открыть Run/Debug Configurations dialog& выбратьRun > Edit Configurations

Убедитесь, что Gradle-aware Makeдобавлен в TaskList или нет. Если нет, нажмите +и выберите один из вариантов.

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

Заметка

Если вы получите

Завершение работы завершено через 0 мс. Ошибка при создании зависимостей. Разделенный APK com.android.ide.common.process.ProcessException: не удалось выполнить aapt на com.android.builder.core.AndroidBuilder.processResources (AndroidBuilder.java:809) на com.android. builder.core.AndroidBuilder.processResources (AndroidBuilder.java:797) по адресу com.android.build.gradle.internal.transforms.InstantRunSplitApkBuilder.generateSplitApkResourcesAp (InstantRunSplitApkBuilder:373) .java

Вы должны снять отметку INSTANT RUN.

Файл - Настройки - Сборка, Выполнение, Развертывание - Мгновенный запуск и снимите флажок Включить мгновенный запуск .

IntelliJ Amiya
источник
1
Да, он будет работать при перестроении, потому что конфигурация уже настроена с мгновенным запуском. Но не будет работать с чистой сборкой и комбинацией запуска проекта.
Sagar Kacha
1
@SaguKacha Действительно.
IntelliJ Amiya
НЕ РАБОТАЕТ: завершение работы завершено через 0 мс. Ошибка при создании зависимостей. Разделенный APK com.android.ide.common.process.ProcessException: не удалось выполнить aapt в com.android.builder.core.AndroidBuilder.processResources (AndroidBuilder.java:809) в com .android.builder.core.AndroidBuilder.processResources (AndroidBuilder.java:797) в com.android.build.gradle.internal.transforms.InstantRunSplitApkBuilder.generateSplitApkResourcesAp (InstantRunSplitApkBuilder.java:373)
android51130
@ android51130 Что у вас buildToolsVersion ??
IntelliJ Amiya
@IntelliJAmiya 26.0.2
android51130
2

очистите свой проект и запустите снова

Если это не сработает, тогда

  • Шаг 1 Закройте свой проект.
  • Шаг 2 Перейдите в папку своего проекта и удалите все папки сборки.
  • Шаг 3 запустите свой проект.
Вишал Соджитра
источник
1
Также попытался закрыть проект, закрыть Android Studio и выполнить недействительные кеши / перезапуск, но не повезло, после очистки приложения он всегда показывает ошибку, и, как ни странно, если проект построен, он всегда запускает тот же APK, который находится в папке сборки без обновление с любыми изменениями.
Sneh Pandya
вы пробовали шаг 2? перейдите в папку вашего проекта и удалите всю папку сборки с папкой сборки модуля.
Вишал Соджитра,
Да, я тоже удалил папку сборки, ничего не работает!
Sneh Pandya
Desable instan запустить и сделать все снова.
Vishal Sojitra
вы получили решение?
Vishal Sojitra
0

Эта проблема исправлена ​​в выпуске Android Studio 3.1.1 (апрель 2018 г.). Обновите свою студию Android до версии 3.1.1.

Вот объяснение, уточняющее детали проблемы, ее причину и решение:

В некоторых случаях, когда проект, созданный в Android Studio 3.0 was opened for the first time in Android Studio 3.1, the Gradle-aware Make task was removed from the Before launch area in Run/Debug Configurations.результате, не создавался при нажатии кнопки «Выполнить» или «Отладка», что, в свою очередь, приводило к сбоям, таким как развертывание неправильных APK-файлов и сбоям при использовании мгновенного запуска.

Чтобы решить эту проблему, Android Studio 3.1.1 adds the Gradle-aware Make task to the run configuration for projects that are missing this entry.эта модификация происходит после первой синхронизации Gradle при загрузке проекта.

Официальные примечания к выпуску: https://developer.android.com/studio/releases/index.html#3-1-0.

0xAliHn
источник