错误: 当更改 minSdkVersion 时,超时等待锁定构建文件的构建脚本类缓存

我尝试在 Android Studio中更改 build.gradle中的 minSdkVersion(模块: 应用程序)并得到下一个错误:

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

77653 次浏览

听起来好像和 https://issues.gradle.org/browse/GRADLE-2795有关。

解决这个问题的最简单方法是删除 C:\Users\Administrator\.gradle\caches下的所有内容。有一个 cache.properties.lock持有一个全局锁,它阻止您运行脚本。

对于 Mac OSX,文件夹位于 ~/.gradle/caches中。Android Studio 应该显示导致锁定的文件的正确路径。

关闭 android 工作室并删除缓存中的任何内容

您的 建造,分级文件可能包含多个 minSdkVersion.可能在 defaultConfig{}块和 productFlavors{}块。确保只在构建文件中声明 minSdkVersion 一次

1.检查是否多个 Java.exe实例运行,然后找出为什么他们在我的情况下运行我已经打开命令提示符它需要 java 实例。 打开任务管理器,结束 Cmd.exe的任务 如果您不希望它进一步发生,请从环境变量中删除 path,并使用嵌入式 android Studio JDK。

2. 删除/. gradle/cache 中的锁文件 Goto 任务管理器并关闭所有 java.exe 实例 在 android 工作室中,单击文件使缓存/重新启动失效

有时需要注意的是删除 filehash.lock 文件,它会抛出一个无法删除文件的错误。因此,请执行以下步骤

Windows 机器:

打开任务管理器(Ctrl-Alt-Delete and check Process)

- > 如果你运行两个 android 工作室的实例,关闭一个(结束任务)

然后关闭 OpenJDK Platform Binary

- > Gradle sync now on AndroidStudio and it will work now

文件 > 无效缓存/重新启动

为我工作! ! !

enter image description here

对我有效的方法是:

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

这招对我很管用。

杀死所有的梯度过程的实例。

ps -ef | grep gradle

删除「锁定档案」

rm C:\Users\Administrator\.gradle\caches\2.2.1\scripts\build_f00bwdji3qxl7urq5chsbakgv\ProjectScript\buildscript\cache.properties.lock

谢谢,

对我来说,唯一有效的方法就是删除 android 文件夹中的这些东西:

  • { appname } . iml
  • 。想法/
  • . gradle/buildOutputCleanup/

两周后我会把这个贴到网上

锁文件之所以存在,是因为其他一些 gradle 进程(通常是守护进程)正在使用缓存。您可以停止所有的分级进程来释放锁

gradle --stop

Https://docs.gradle.org/current/userguide/gradle_daemon.html#sec:stopping_an_existing_daemon

问题: 如果你打开两个 Android 工作室,其中两个正在使用照相机服务捕捉图像,那么我们就会面临这个问题。

解决方案: 关闭一个 Android 工作室。

对于像我这样的初学者来说,第一次遇到这种情况,无法删除。锁定文件或。档案夹,

在 Windows 10或其他系统中,使用安全模式重新启动电脑(Windows key + R ——-> msconfig —— > select boot,boot In safe mode —— > start) ,然后删除文件(这应该会删除文件和文件夹)

然后在正常模式下,重新启动 android 工作室并同步 gradle 以下载适当的版本(希望该项目现在应该可以工作)

"Lock file: C:\Users\Administrator\.gradle\caches\2.2.1\scripts\build_f00bwdji3qxl7urq5chsbakgv\ProjectScript\buildscript\cache.properties.lock"

您应该删除此扩展名中的文件。然后你就会发现问题已经解决了。我也经历过同样的问题。

从/中删除. gradle 文件夹,并从项目中重新同步 gradle。

对我来说,它通过杀死 PID 解决了问题

  • Windows taskkill/F/PID PID _ number
  • Linux kill -9 pid _ number

我也有同样的问题:

enter image description here

若要解决此问题,请使用 kill -9命令终止保留日志的进程

日志完美地解释了问题中涉及的进程,因此您可以检索相关的 PID 或文件路径

在本例中,命令将是:

kill -9 9739