Flutter新项目Gradle网络下载报错,旧项目正常求助
解决Flutter新项目Gradle解压Zip报错问题
从报错日志里的java.util.zip.ZipException: error in opening zip file可以确定,问题核心是Gradle压缩包损坏或下载不完整——旧项目能正常运行说明你的Flutter、Android SDK环境本身没问题,只是新项目的Gradle缓存或安装包出了故障。
以下是针对性的有效解决方案:
方案1:清理本地Gradle缓存并重新下载
- 找到本地Gradle缓存目录:
- Windows:
C:\Users\<你的用户名>\.gradle\wrapper\dists - Mac/Linux:
~/.gradle/wrapper/dists
- Windows:
- 删除该目录下与新项目指定版本对应的文件夹(比如
gradle-7.5-all、gradle-7.2-all) - 回到VS Code,执行
flutter clean后再运行flutter run,让Gradle重新下载完整的压缩包
方案2:手动下载Gradle包并替换缓存
- 查看新项目
gradle-wrapper.properties里的distributionUrl,确认对应的Gradle版本(比如gradle-7.2-all.zip) - 手动下载对应版本的完整压缩包(务必确认文件大小与官方标注一致,避免下载损坏)
- 在Gradle缓存目录中创建对应版本的文件夹(比如
gradle-7.2-all),将下载好的zip包放入其中 - 删除该文件夹内可能存在的
gradle-<版本>-all.zip.lck和gradle-<版本>-all.zip.part临时文件 - 执行
flutter clean后重新运行项目
方案3:复用旧项目的Gradle配置与缓存
- 复制旧项目
android/build.gradle里的classpath配置(比如classpath 'com.android.tools.build:gradle:7.3.0')到新项目对应文件中 - 复制旧项目
android/gradle/wrapper/gradle-wrapper.properties里的distributionUrl到新项目对应文件中,确保版本完全一致 - 把旧项目本地缓存的对应Gradle版本文件夹,复制到你的Gradle缓存目录中,覆盖可能损坏的文件
- 重启VS Code后执行
flutter clean再运行项目
方案4:检查网络环境
- 如果是网络不稳定或代理导致下载中断,关闭代理服务器,切换到稳定的网络(比如手机热点)
- 重新执行
flutter run,让Gradle重新下载完整的压缩包
内容的提问来源于stack exchange,提问作者sumanth.js
相关产品推荐
相关产品推荐

