Не удалось получить снимок выходных файлов для задачи

Ошибка: не удалось получить моментальный снимок выходных файлов для задачи 'transformClassesWithDexForDebug', свойство 'streamOutputFolder' во время последней проверки.

Не удалось создать хэш MD5 для файла 'C:\Users\GauravZone\AndroidStudioProjects\ZopporoStore\app\build\ промежуточные \transforms\dex\debug\folder \1000\10000\instant-run_83dbc65f4e3a4cd278807c089695c6b352698x1 \ классы.

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

8 ответов

введите описание изображения здесь отключите ваш антивирус. это будет работать

Это проблема Gradle, и вы можете найти ее здесь. Так что на данный момент просто отключите Instant Run. Это сработало для меня.

В андроид студии,

  1. Откройте диалоговое окно "Настройки" или "Настройки": в Windows или Linux выберите File > Settings из строки меню. На Mac OSX выберите Android Studio > Preferences из строки меню.
  2. Перейдите к Build, Execution, Deployment > Instant Run,
  3. Снимите флажок Возобновить действие при изменении кода.

Я решил эту проблему в своем реактивном проекте, удалив весь кэш npm

1.npm  cache clean --force
2.react-native run-android

Установите для multiDexEnabled значение true в своем классе выпуска buildType в файле build.gradle

Ошибка: не удалось получить снимок выходных файлов для задачи 'transformClassesWithDexForDebug', свойство 'streamOutputFolder' во время последней проверки::

Решение: Просто пересоберите проект и затем синхронизируйте проект с файлами Gradle, как указано ниже.

1. Нажмите Build -> Rebuild Project.

2. Нажмите Инструменты -> Android -> Синхронизировать проект с файлами Gradle

Я также получал ту же ошибку. Но когда я отключил Instant Run, Gradle начал строить. Но я согласен с теми, кто считает, что это проблема Gradle. И пока он не получит разрешение, отключите Instant Run.

Следующие шаги: мгновенный запуск (файл-> настройка-> сборка, выполнение, развертывание-> снять флажок мгновенный запуск), а затем скомпилировать его правильно.

Очистка кеша исправляет это. Но только один раз, если вы остановите проект и снова запустите его, вы снова получите ту же ошибку.

Выполнение следующих исправлений для меня,

cd android ./gradlew clean react-native start --reset-cache npm clean cache --force

Затем откройте два разных терминала,

Бегать react-native startв одном терминале и во втором,

Бегать react-native run-androidНадеюсь, это сработает и для вас.

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

       1.adb reverse tcp:8081 tcp:8081
       2.react-native start --reset-cache
       3.react-native run-android

Эта проблема возникает, когда существует более одного процесса, который что-то делает с файлом на вашем диске (будь то рабочая область вашего задания Jenkins, путь кеша Gradle или созданная им папка сборки Gradle), когда эти процессы пытаются что-то сделать с файлом и держит замок.

Если у вас есть антивирус, вы можете это увидеть. Удаление может решить проблему, но тогда у вас нет антивируса (лучше, если вы можете настроить что-то в антивирусе для периодической проверки файлов).

В моем случае эта проблема возникает только тогда, когда у меня есть Jenkinsfile конвейер, где я запускаю задачу Gradle для 3-5 проектов в parallel (скажем, Gradle запускает rpm задача или build задача) и когда я выполняю параллельные запуски этого конвейера.

Как вы можете видеть, мой код конвейера ( Jenkinsfile Pipeline DSL: How to Show Multi-Columns in Jobs dashboard GUI - Для всех динамически создаваемых этапов - Когда в разделе PIPELINE) создает динамический этап (ы), и когда я вызываю его вpipeline раздел, я использую parallelдля запуска N нет. проектов (которые я могу определить в хэше / массиве) задачи gradle параллельно.

Я заметил, что все эти запуски (выполняющиеся параллельно) выполняются с использованием моего идентификатора пользователя (или какой-либо учетной записи службы), и все они используют одну и ту же версию Gradle (4.3.1 в моем случае), и, следовательно, они используют одну и ту же кеш.

Запуск их только в параллельном режиме - ИЛИ - более реалистичный случай, когда будет выполняться несколько конвейерных запусков этого конвейерного задания (параллельное выполнение 5 задач gradle проекта), вероятно, попадет в это условие файла LOCK.

Вероятно, вы можете решить эту проблему, установив уникальный GRADLE_USER_HOME="~${WORKSPACE}/.cache" (т.е. используйте рабочую область задания Jenkins, которая создается динамически и является уникальной) или даже лучше, установив домашнюю страницу пользователя Gradle как:

dt_stamp=`date +%s`; ## set and pass this dt_stamp variable for Gradle user home before calling Gradle.
GRADLE_USER_HOME="~${WORKSPACE}/${dt}/.cache"`

Таким образом, по крайней мере, в кеше Gradle вы не увидите никаких проблем, связанных с файлами блокировки (ПРИМЕЧАНИЕ: вы не сможете эффективно использовать концепцию кеширования Gradle, которая являетсяlazy (или не извлекать зависимости артефактов / библиотек из двоичного репозитория, такого как Artifactory, каждый раз) при использовании Gradle среди многих проектов, если вы установите GRADLE_USER_HOME в значение динамической папки, так как это будет похоже на запуск gradle после очистки его кеша каждый раз (для некоторых это Хорошо, если ваша сборка не займет много времени и это более чистый способ сборки)).

Когда я пытался запустить только один конвейер (который запускает все задачи Gradle всех 5 проектов параллельно), конвейер всегда успешно работает.

Выполнение нескольких экземпляров задания конвейера (запуск 5 параллельных сборок в каждом запуске) приводит к этой проблеме БЛОКИРОВКИ файла.

Сообщение об ошибке, когда я запускал много одновременных запусков конвейера (каждый запуск конвейера - запускает задачи Gradle параллельно в 5 разных проектах).

FAILURE: Build failed with an exception.


* What went wrong:

Failed to capture snapshot of output files for task ':rpm' property 'archivePath' during up-to-date check.

> Timeout waiting to lock file hash cache (/view/user123456_Team_Tools/vobs/space/test/folder1/Project1of5/.gradle/4.3.1/fileHashes). It is currently in use by another Gradle instance.

  Owner PID: 29003

  Our PID: 903

  Owner Operation: 

  Our operation: 

  Lock file: /view/user123456_Team_Tools/vobs/space/test/folder1/Project1of5/.gradle/4.3.1/fileHashes/fileHashes.lock


* Try:

Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

-- ИЛИ --

Вы также можете получить такую ​​ошибку, когда процесс не может удалить каталог (в то время как Gradle выполняется, поскольку целевая папка / файл может использоваться другим процессом)

FAILURE: Build failed with an exception.


* What went wrong:

Execution failed for task ':clean'.

> Unable to delete directory: /view/user123456_Team_Tools/vobs/space/test/folder1/project2of5/build/classes/java/main/org/syntax/jedit


* Try:

Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.


* Get more help at https://help.gradle.org

Если вам действительно повезло (как и мне), то вы, вероятно, тоже столкнетесь с этой ошибкой:

Jenkins - java.lang.IllegalArgumentException: последний блок не имеет достаточно действительных битов и
ошибка Gradle: задача 'null' не найдена в корневом проекте

Подробнее см. Здесь: Jenkins - java.lang.IllegalArgumentException: последний блок не имеет достаточно действительных битов и ошибка Gradle: задача 'null' не найдена в корневом проекте

Я столкнулся с этой проблемой после обновления Android Plugin для Gradle до версии 2.3.1. Мне помог откат на версию 2.3.0, попробуйте установить classpath 'com.android.tools.build:gradle:2.3.0' на вашем высшем уровне gradle.build файл.

Проблема в версии Gradle. Обновите версию gradle до последней, чтобы решить такие проблемы.

Я пробовал, чтобы у меня работалcom.android.tools.build:gradle:3.3.2. ранее это было "3.1.0"

Я столкнулся с той же проблемой, и, отключив антивирусную защиту QuickHeal Antivirus, он заработал для меня нормально.

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