Ошибка: ожидания ожидания для блокировки кеша класса buildscript для файла сборки при изменении minSdkVersion
Я пытаюсь изменить minSdkVersion
в build.gradle
(Module: app) в Android Studio
и получить следующую ошибку:
Error:Timeout waiting to lock buildscript class cache for build file 'E:\pathtoproject\app\build.gradle' (C:\Users\Administrator\.gradle\caches\2.2.1\scripts\build_f00bwdji3qxl7urq5chsbakgv\ProjectScript\buildscript). It is currently in use by another Gradle instance.
Owner PID: unknown
Our PID: 4592
Owner Operation: unknown
Our operation: Initialize cache
Lock file: C:\Users\Administrator\.gradle\caches\2.2.1\scripts\build_f00bwdji3qxl7urq5chsbakgv\ProjectScript\buildscript\cache.properties.lock
Что это за ошибка? Как изменить minSdkVersion
?
Ответы
Ответ 1
Похоже, что это связано с https://issues.gradle.org/browse/GRADLE-2795.
Самый простой способ решить это - удалить все в C:\Users\Administrator\.gradle\caches
. Существует cache.properties.lock
, который содержит глобальную блокировку, которая препятствует запуску вашего script.
Для Mac OSX папка находится в ~/.gradle/caches
. Android Studio должна показывать путь к файлу, который вызывает блокировку в любом случае.
Ответ 2
File> Invalidate cache/restart
работает для меня!!!
![enter image description here]()
Ответ 3
Закройте студию android и удалите все в кеше
Ответ 4
1. Проверьте, запущен ли несколько экземпляров java.exe, почему они работают в моем случае. Я открыл командную строку, для которой нужен экземпляр java.
открытый диспетчер задач и конечная задача cmd.exe
Если вы не хотите, чтобы это произошло, удалите путь из переменных окружения и используйте встроенную студию JDK для Android.
2. Удалите файл блокировки в /.gradle/cache
goto task manager и закрыть все экземпляры java.exe
В студии android нажмите на файл, чтобы аннулировать кеши/перезапустить
Ответ 5
Это сработало для меня.
убить все экземпляры процесса gradle.
ps -ef | grep gradle
удалить файл блокировки
rm C:\Users\Administrator\.gradle\caches\2.2.1\scripts\build_f00bwdji3qxl7urq5chsbakgv\ProjectScript\buildscript\cache.properties.lock
Спасибо,
Ответ 6
Что сработало для меня:
projectPath=[yourProjectPath]
find $projectPath/.gradle -name '*.lock' -delete
Вы также можете удалить их один за другим:
gradleVersion=[yourProjectGradleVersion]
projectPath=[yourProjectPath]
rm -f $projectPath/.gradle/$gradleVersion/taskHistory/taskHistory.lock $projectPath/.gradle/$gradleVersion/fileHashes/fileHashes.lock $projectPath/.gradle/$gradleVersion/fileContent/fileContent.lock $projectPath/.gradle/$gradleVersion/javaCompile/javaCompile.lock $projectPath/.gradle/buildOutputCleanup/buildOutputCleanup.lock
Ответ 7
Ваш файл build.gradle, вероятно, содержит несколько операторов
minSdkVersion
. Возможно, в блоке defaultConfig{}
и блоке productFlavors{}
. Убедитесь, что вы только объявляете minSdkVersion один раз в файле сборки.
Ответ 8
Иногда было замечательно удалять файл filehash.lock, и он выдавал ошибку, неспособную удалить файл. Итак, выполните следующие шаги
Для машины Windows:
Откройте диспетчер задач (Ctrl-Alt-Delete и проверьте процесс)
- > Если вы запустите два экземпляра студии Android, нажмите "Закрыть один" ( "Завершить задачу" )
- > Затем закройте OpenJDK Platform Binary
- > Gradle теперь синхронизируется на AndroidStudio, и теперь он будет работать
Ответ 9
Для меня единственное, что сработало, это удаление этих вещей из папки Android:
- {} Имя_приложения .iml
- .idead/
- .gradle/buildOutputCleanup/
Опубликовать это для себя через 2 недели
Ответ 10
Файл блокировки существует потому, что какой-то другой процесс gradle (обычно демон) использует кеш. Вы можете остановить все процессы gradle, чтобы снять блокировку
gradle --stop
https://docs.gradle.org/current/userguide/gradle_daemon.html#sec:stopping_an_existing_daemon