Flutter构建失败,:app:mergeDebugJavaResource任务执行异常如何解决
Flutter项目
mergeDebugJavaResource执行失败问题排查与解决方案 问题核心原因
java.nio.file.FileSystemException: ...\out.jar:进程无法访问该文件,因为它正被另一个进程占用。
本质是构建过程中生成的out.jar文件被其他进程持有文件锁,Gradle无法写入修改导致任务失败。
排查方向
- 检查是否有上次异常中断残留的编译相关僵死进程
- 检查是否是安全软件正在扫描构建目录,临时锁定了jar文件
- 检查是否系统未释放异常中断后的文件句柄
解决方案(按操作优先级排序)
1. 终止占用进程(最快解决)
打开Windows任务管理器,结束所有以下相关进程即可:
- dart.exe
- java.exe
- gradle.exe
- flutter.exe
不想逐个找的话直接重启电脑,也可以一次性释放所有占用的文件句柄。
2. 清理缓存重新构建
进入项目根目录,依次执行以下命令:
flutter clean flutter pub get
执行完成后再重新启动项目构建即可。
3. 排除安全软件扫描
如果前两步操作后仍然报错,将整个Flutter项目目录加入Windows Defender或第三方杀毒软件的扫描排除白名单,避免安全软件扫描构建过程中生成的临时文件导致锁死。
4. 修改Gradle配置(长期避免复现)
打开项目android目录下的gradle.properties文件,添加以下两行配置:
# 关闭虚拟文件系统监听,避免文件锁冲突 org.gradle.vfs.watch=false # 关闭并行构建,减少文件占用冲突概率 org.gradle.parallel=false
保存修改后重新构建即可。
内容的提问来源于stack exchange,提问作者dn_wakshe
相关产品推荐
相关产品推荐

