Не удалось получить снимок выходных файлов для задачи
Ошибка: не удалось получить моментальный снимок выходных файлов для задачи 'transformClassesWithDexForDebug', свойство 'streamOutputFolder' во время последней проверки.
Не удалось создать хэш MD5 для файла 'C:\Users\GauravZone\AndroidStudioProjects\ZopporoStore\app\build\ промежуточные \transforms\dex\debug\folder \1000\10000\instant-run_83dbc65f4e3a4cd278807c089695c6b352698x1 \ классы.
Я получаю эти ошибки, не знаю почему, раньше все приложения работали нормально, но внезапно получаю эту ошибку во всех моих приложениях при попытке запуска проектов
8 ответов
введите описание изображения здесь отключите ваш антивирус. это будет работать
Это проблема Gradle, и вы можете найти ее здесь. Так что на данный момент просто отключите Instant Run. Это сработало для меня.
В андроид студии,
- Откройте диалоговое окно "Настройки" или "Настройки": в Windows или Linux выберите
File > Settings
из строки меню. На Mac OSX выберитеAndroid Studio > Preferences
из строки меню. - Перейдите к
Build, Execution, Deployment > Instant Run
, - Снимите флажок Возобновить действие при изменении кода.
Я решил эту проблему в своем реактивном проекте, удалив весь кэш 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, он заработал для меня нормально.