Windows环境下Gradle构建报错「Failed to create MD5 hash for file」求助
我之前做Gradle构建时也碰到过完全一样的报错,折腾了半天终于搞定了,给你整理几个亲测有效的解决办法:
问题根源
这个报错大多是因为Gradle守护进程(Daemon)没有正常退出,或者IDE后台进程、其他工具占用了fileContent.lock锁文件,导致构建时无法读取或生成它的MD5哈希值。
具体解决方案
终止所有Gradle相关进程
先打开任务管理器(Windows)或者活动监视器(Mac/Linux),把所有带gradle或者java的进程全部结束掉——尤其是那些后台挂着的Gradle Daemon进程,最容易占着锁文件不放。手动清理锁文件与Gradle缓存
直接找到报错里的路径my_project_dir\.gradle\3.5\fileContent\fileContent.lock,把这个锁文件删掉。如果删不掉,再检查一遍是不是还有相关进程没杀干净。
另外,也可以直接清空项目根目录下的.gradle文件夹(项目级缓存),甚至用户目录下的.gradle文件夹(全局Gradle缓存),之后重新运行构建命令:# Mac/Linux ./gradlew clean build # Windows gradlew.bat clean build调整Gradle Daemon的超时配置
如果经常碰到这个问题,可以给Gradle Daemon设置一个较短的超时时间,让它闲置一段时间后自动退出,减少锁文件被占用的概率。在项目根目录的gradle.properties文件里添加:org.gradle.daemon.idleTimeout=300000这里设置的是5分钟(300000毫秒),你可以根据自己的需求调整时长。
暂时关闭IDE的自动构建功能
如果你用的是IDEA、Android Studio这类IDE,后台自动构建功能有时候会偷偷占用Gradle的文件资源。可以先关闭它:- 打开IDE的设置(File → Settings)
- 找到Build, Execution, Deployment → Compiler
- 取消勾选"Build project automatically"
之后再手动运行Gradle构建命令试试。
如果以上方法都不管用,那就试试重启电脑——有时候系统级的文件锁只有重启才能彻底释放。
内容的提问来源于stack exchange,提问作者spal

