错误:更改 minSdkVersion 时超时等待为构建文件锁定构建脚本类缓存
Posted
技术标签:
【中文标题】错误:更改 minSdkVersion 时超时等待为构建文件锁定构建脚本类缓存【英文标题】:Error:Timeout waiting to lock buildscript class cache for build file when change minSdkVersion 【发布时间】:2015-10-25 08:58:01 【问题描述】:我尝试在android Studio
中更改minSdkVersion
中的build.gradle
(Module: app) 并得到下一个错误:
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
?
【问题讨论】:
运行proguard后出现同样的错误,我重新启动了android studio,然后它对我有用 我重新启动了android studio,它没有工作。重新启动笔记本电脑,它工作了 【参考方案1】:这听起来和https://issues.gradle.org/browse/GRADLE-2795有关。
解决此问题的最简单方法是删除C:\Users\Administrator\.gradle\caches
下的所有内容。有一个 cache.properties.lock
持有全局锁,阻止您运行脚本。
对于 Mac OSX,该文件夹位于 ~/.gradle/caches
。 Android Studio 应该显示导致锁定的文件的正确路径。
【讨论】:
Mac osx 的路径是什么? 它应该在您的主目录中。~/.gradle/caches
该目录中有 65k 个文件。竖起大拇指
我刚刚删除了那个文件。没有必要删除缓存。我猜它在那里,所以不必每次都从互联网上下载。如果你问我是个好主意。
我不得不删除/移动整个缓存目录。【参考方案2】:
文件 > 使缓存无效/重新启动
为我工作!!!
【讨论】:
在没有无效缓存的情况下工作,只需简单的重启就足够了。 此错误可能发生在命令行上,而不仅仅是 Android Studio。 上述修复适用于 cmd 但 intelliJ 或 Android Studio 会创建新的锁定文件。即使通过 shell 删除缓存,我也会收到引用不同锁定文件的错误【参考方案3】:锁定文件存在是因为其他一些 gradle 进程(通常是守护进程)正在使用缓存。您可以停止所有 gradle 进程以释放锁
gradle --stop
https://docs.gradle.org/current/userguide/gradle_daemon.html#sec:stopping_an_existing_daemon
【讨论】:
【参考方案4】:对我来说,它通过杀死 PID 解决了问题
Windows taskkill /F /PID pid_number Linux kill -9 pid_number【讨论】:
【参考方案5】:1.检查java.exe的多个实例是否正在运行然后找出它们为什么在我的情况下运行我已经打开命令提示符它需要java实例。 打开任务管理器并结束cmd.exe的任务 如果您不希望它进一步发生,请从环境变量中删除路径并使用嵌入式 android studio JDK。
2.删除/.gradle/cache中的锁文件 转到任务管理器并关闭所有 java.exe 实例 在 android studio 点击文件失效缓存/重启
【讨论】:
【参考方案6】:我也遇到了同样的问题:
要解决此问题,请使用kill -9
命令终止保留日志的进程
日志完美解释了您的问题涉及哪个进程,因此您可以检索相关的PID或文件路径
在本例中,命令为:
kill -9 9739
【讨论】:
别忘了 sudo :) 感谢我的 PIC 编号不同。而已。多谢。坚持了这么久。但是现在如果我正在运行两个 android studio 窗口,我每次需要运行其他项目时都必须杀死。对此有什么永久解决方案吗?让我们知道。【参考方案7】:关闭 android studio 并删除缓存中的任何内容
【讨论】:
【参考方案8】:这对我有用。
杀死 gradle 进程的所有实例。
ps -ef | grep gradle
删除“锁定文件”
rm C:\Users\Administrator\.gradle\caches\2.2.1\scripts\build_f00bwdji3qxl7urq5chsbakgv\ProjectScript\buildscript\cache.properties.lock
谢谢,
【讨论】:
【参考方案9】:什么对我有用:
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
【讨论】:
【参考方案10】:从 / 中删除 .gradle 文件夹并从项目中重新同步 gradle。
【讨论】:
【参考方案11】:您的 build.gradle 文件可能包含多个语句
minSdkVersion
。可能在defaultConfig
块和productFlavors
块中。确保您只在构建文件中声明 minSdkVersion 一次。
【讨论】:
【参考方案12】:有时删除 filehash.lock 文件是值得注意的,它会抛出无法删除文件的错误。所以请执行以下步骤
对于 Windows 机器:
打开任务管理器(Ctrl-Alt-Delete 并检查进程)
-> 如果你运行两个 android studio 实例,关闭一个(结束任务)
-> 然后关闭 OpenJDK Platform Binary
-> AndroidStudio 上的 Gradle 同步功能现在可以使用了
【讨论】:
【参考方案13】:对我来说,唯一有效的就是删除 android 文件夹中的这些东西:
appname.iml .idead/ .gradle/buildOutputCleanup/从现在起 2 周后为自己发布此内容
【讨论】:
【参考方案14】:对于像我这样的新手,第一次遇到这种情况,无法删除.lock文件或.gradle文件夹,
在windows 10或其他系统中,使用安全模式重启电脑,(windows key + R ---> msconfig ---->选择启动,以安全模式启动---->重启)然后删除文件, (这应该删除文件和文件夹)
然后在正常模式下,重新启动android studio并同步gradle以下载适当的版本(希望项目现在应该可以工作)
【讨论】:
【参考方案15】:"Lock file: C:\Users\Administrator\.gradle\caches\2.2.1\scripts\build_f00bwdji3qxl7urq5chsbakgv\ProjectScript\buildscript\cache.properties.lock"
您应该删除此扩展名中的文件。然后你会看到问题已经解决了。我也遇到过同样的问题。
【讨论】:
【参考方案16】:问题:如果您打开两个 Android Studio,其中两个正在使用相机服务来捕获图像,那么我们就会遇到这个问题。
解决方案:关闭一个 Android Studio。
【讨论】:
以上是关于错误:更改 minSdkVersion 时超时等待为构建文件锁定构建脚本类缓存的主要内容,如果未能解决你的问题,请参考以下文章
Gradle 构建失败,出现错误“等待连接到 Grade 守护程序的超时”