Ich versuche, minSdkVersion
in build.gradle
(Modul: app) in Android Studio
zu ändern und erhalte folgende Fehlermeldung:
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
Was ist es Fehler? Wie minSdkVersion
ändern?
Das klingt, als ob es mit https://issues.gradle.org/browse/GRADLE-2795 zusammenhängt.
Der einfachste Weg, dieses Problem zu lösen, besteht darin, alles unter C:\Users\Administrator\.gradle\caches
zu löschen. Es gibt einen cache.properties.lock
, der eine globale Sperre enthält, die Sie daran hindert, Ihr Skript auszuführen.
Bei Mac OSX befindet sich der Ordner in ~/.gradle/caches
. Das Android Studio sollte den richtigen Pfad zu der Datei anzeigen, die die Sperre trotzdem verursacht.
Schließen Sie Android Studio und löschen Sie alles im Cache
Das hat bei mir funktioniert.
ps -ef | grep gradle
rm C:\Users\Administrator\.gradle\caches\2.2.1\scripts\build_f00bwdji3qxl7urq5chsbakgv\ProjectScript\buildscript\cache.properties.lock
Vielen Dank,
1. Prüfen Sie, ob mehrere Instanzen von Java.exe ausgeführt werden, und finden Sie heraus, warum sie in meinem Fall ausgeführt werden. Ich habe den Befehl geöffnet. Eingabeaufforderung benötigt Java-Instanz . Taskmanager öffnen und Task von beenden). cmd.exe Wenn Sie nicht möchten, dass es weiterhin geschieht, entfernen Sie den Pfad aus den Umgebungsvariablen und verwenden Sie das eingebettete Android Studio JDK.
2.Löschen Sie die Sperrdatei im /.gradle/cachegoto-Task-Manager und schließen Sie alle Instanzen von Java.exe.__Im Android-Studio klicken Sie auf Datei ungültig machen Caches/restart
Für mich war das einzige, was funktionierte, das Löschen dieser Dinge im Ordner Android):
Poste dies für mich in 2 Wochen
Die Sperrdatei befindet sich dort, weil ein anderer Gradle-Prozess (normalerweise der Dämon) den Cache verwendet. Sie können alle gradle-Prozesse stoppen, um die Sperre aufzuheben
gradle --stop
https://docs.gradle.org/current/userguide/gradle_daemon.html#sec:stopping_an_existing_daemon
Ihre build.gradle -Datei enthält wahrscheinlich mehrere Anweisungen von minSdkVersion
. Möglicherweise in defaultConfig{}
-Block und productFlavors{}
-Block. Vergewissern Sie sich, dass Sie minSdkVersion einmal in der Builddatei nur deklarieren.
Was für mich funktioniert hat:
projectPath=[yourProjectPath]
find $projectPath/.gradle -name '*.lock' -delete
Sie können sie auch einzeln entfernen:
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
Manchmal war es bemerkenswert, die Datei filehash.lock zu löschen und es wird ein Fehler ausgegeben, der die Datei nicht löschen kann. So führen Sie die folgenden Schritte aus
Für Windows-Computer:
Task-Manager öffnen (Strg-Alt-Löschen und Prozess überprüfen)
-> Wenn Sie zwei Instanzen von Android Studio ausführen, schließen Sie eine (Task beenden).
-> Schließen Sie dann OpenJDK Platform Binary
-> Gradle Sync jetzt auf AndroidStudio und es funktioniert jetzt