我想做一些基本的函数。我正在命令行中运行/构建它。我在看用户指南。还有,做一些简单的任务。
当我开始运行简单的任务时,它被成功构建。但是,在一段时间后,它会显示“它目前正在被另一个Gradle实例使用”,并变成BUILD FAILED。我正在使用终端运行任务。那时候我什么都没做。
如果我关闭产生错误的终端,这个问题就解决了。但是,我知道这不是解决办法。
为什么这个错误经常出现?
如何解决?
并且,请参考任何链接来提高我对Android中Gradle Build系统的知识。
我想做一些基本的函数。我正在命令行中运行/构建它。我在看用户指南。还有,做一些简单的任务。
当我开始运行简单的任务时,它被成功构建。但是,在一段时间后,它会显示“它目前正在被另一个Gradle实例使用”,并变成BUILD FAILED。我正在使用终端运行任务。那时候我什么都没做。
如果我关闭产生错误的终端,这个问题就解决了。但是,我知道这不是解决办法。
为什么这个错误经常出现?
如何解决?
并且,请参考任何链接来提高我对Android中Gradle Build系统的知识。
当前回答
每个人最后, 我有完整的解决方案
Error :- Timeout Gradle cashe its running in other gradle
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
Please add this Line in Wrapper.Propertis and Sync now
After Sync the project When
Invalidthcast\restart to get the requesting componants
其他回答
我被这个错误所困扰,不得不删除用户的.gradle/caches/文件夹的内容和项目的.gradle/文件夹的内容才能继续运行。
不知道是什么引起的,可能是一个失败的构建,使这些文件处于锁定状态?
我也遇到过同样的问题,我做了两步就解决了。
我的JDK没有安装在Mac上(我忘了安装),我安装了它。 我删除了位于这个路径/Users/icon_developer/的缓存文件夹中的所有项目。Gradle /和重建项目。 它工作!
在我的案例中,罪魁祸首是限制性防火墙,反病毒系统的一部分。
根据https://discuss.gradle.org/t/timeout-waiting-to-lock-file-hash-cache/21961/2和https://github.com/elastic/elasticsearch/issues/50954#issuecomment-576772154, gradle-issue-8750, gradle服务器正在保留锁,并在其他gradle进程请求时释放它。通信通过本地主机上的UDP套接字进行。因此,如果有防火墙阻止这种通信,gradle保持文件锁和其他gradle进程不能继续。
尝试禁用AV /防火墙,看看问题是否消失。然后运行gradle,如下所示,以更好地了解发生了什么。
gradle --debug --no-daemon
调试日志显示锁的所有者,如果问题仍然存在,杀死锁的所有者。
2021-05-20T19:32:41.105+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] The file lock is held by a different Gradle process (pid: 67494, lockId: 628651820260732672). Pinged owner at port 58442
2021-05-20T19:32:42.330+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] The file lock is held by a different Gradle process (pid: 67494, lockId: 628651820260732672). Pinged owner at port 58442
然后kill -9 67494终止所有者并释放锁。
否则,一段时间后gradle会终止,并报错(在这里说明,这样很容易找到):
* What went wrong:
Gradle could not start your build.
> Could not create service of type ResourceSnapshotterCacheService using GradleUserHomeServices.createResourceSnapshotterCacheService().
> Timeout waiting to lock file hash cache (/Users/myusername/.gradle/caches/6.9/fileHashes). It is currently in use by another Gradle instance.
Owner PID: 67494
Our PID: 68313
Owner Operation:
Our operation:
Lock file: /Users/myusername/.gradle/caches/6.9/fileHashes/fileHashes.lock
只要删除你的。gradle文件夹在android文件夹
如果在您的文件资源管理器(WINDOWS)或查找器(MAC)中不可用
Windows操作系统: 转到查看选项并检查显示隐藏文件
对于Mac
只需按CMD + shift +。
现在运行你的应用程序。
我在mac上也遇到了同样的问题:
注意,你的项目不是在一个外部硬盘上。项目的位置必须在带有操作系统的硬盘上。
(构建Ionic应用程序)