运行flutter run时出现Failed to create Jar file构建错误如何解决
Flutter 调试运行时 Gradle 构建异常排查
核心报错特征
执行flutter run在sdk gphone x86模拟器上启动应用时,流程在Android构建阶段中断:Gradle配置根项目环节抛出错误,无法在本地缓存路径C:\Users\User\.gradle\caches\jars-8\54252edd90659a19228cc919a3e977c6\下创建kotlin-compiler-embeddable-1.3.50.jar,最终assembleDebug任务执行失败,返回退出码1。
补充说明:当前模拟器默认以硬件渲染模式运行,若构建完成后启动应用出现图形伪影,可追加--enable-software-rendering参数切换为软件渲染模式解决
常见诱发原因
- 本地
.gradle缓存目录权限配置异常,当前Windows登录账号无对应路径的写入、读取权限 - 此前Gradle下载目标Kotlin编译器Jar包时遭遇网络中断、进程意外终止,导致缓存目录残留不完整结构,阻塞了文件创建流程
- 本地杀毒软件、系统安全防护规则拦截了Gradle进程对缓存目录的写入操作,目标Jar包被标记拦截或自动隔离
- 残留的Gradle守护进程持有目标路径的文件句柄、占用文件锁,阻碍新Jar文件的创建
可行解决方案
- 修复缓存目录权限
打开C:\Users\User路径,找到隐藏的.gradle文件夹,进入属性-安全配置页,为当前登录的Windows账号授予该文件夹及子目录的完全控制权限,保存配置后重新发起构建 - 清理损坏的缓存残留
关闭当前所有运行的Java、Gradle相关进程,直接删除.gradle\caches路径下的jars-8文件夹,重新执行flutter run触发依赖的全量重新下载 - 临时放行安全软件拦截
暂停本地杀毒软件、系统防火墙的实时扫描拦截规则,待目标Jar包正常写入Gradle缓存后,再恢复原有安全策略 - 重置Gradle运行状态
先在项目根目录执行flutter clean清理项目端的构建产物,再进入项目android目录,执行gradlew.bat --stop终止所有残留的Gradle守护进程,重新发起构建任务
调试提示:若上述操作后仍存在异常,可在执行
flutter run时追加--stacktrace、--info、--debug参数,获取更完整的异常日志精准定位根因。
内容的提问来源于stack exchange,提问作者CodeZer
相关产品推荐
相关产品推荐

