Exception in thread “main“ java.util.zip.ZipException: zip END header not found

Android 、Flutter 在打包或者运行的时候报错如下:

Launching lib/main.dart on V1928A in debug mode...
Running Gradle task 'assembleDebug'...
Exception in thread "main" java.util.zip.ZipException: zip END header not found
	at java.base/java.util.zip.ZipFile$Source.zerror(ZipFile.java:1581)
	at java.base/java.util.zip.ZipFile$Source.findEND(ZipFile.java:1476)
	at java.base/java.util.zip.ZipFile$Source.initCEN(ZipFile.java:1483)
	at java.base/java.util.zip.ZipFile$Source.<init>(ZipFile.java:1288)
	at java.base/java.util.zip.ZipFile$Source.get(ZipFile.java:1251)
	at java.base/java.util.zip.ZipFile$CleanableResource.<init>(ZipFile.java:732)
	at java.base/java.util.zip.ZipFile$CleanableResource.get(ZipFile.java:849)
	at java.base/java.util.zip.ZipFile.<init>(ZipFile.java:247)
	at java.base/java.util.zip.ZipFile.<init>(ZipFile.java:177)
	at java.base/java.util.zip.ZipFile.<init>(ZipFile.java:191)
	at org.gradle.wrapper.Install.unzip(Install.java:214)
	at org.gradle.wrapper.Install.access$600(Install.java:27)
	at org.gradle.wrapper.Install$1.call(Install.java:74)
	at org.gradle.wrapper.Install$1.call(Install.java:48)
	at org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAccessManager.java:65)
	at org.gradle.wrapper.Install.createDist(Install.java:48)
	at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:128)
	at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:61)
Exception: Gradle task assembleDebug failed with exit code 1

在这里插入图片描述

1 查看项目依赖 gradle

其实是这里的 gradle 下载不完整导致的错误 ,如我在 Flutter 项目中查看gradle 的依赖如下(Android项目同理):
在这里插入图片描述

2 处理方法

修改最快捷的方法就是升级gradle 版本,缺点就是可以有一些编译会出现兼容性问题,比如我这里直接修改成7.2版本的

distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-all.zip

然后再次运行 ,如果网络足够好的话会很快将gradle版本下载下来,比如我这里下载下来的文件路径是
在这里插入图片描述

其实最直接的方法就是找到原来报错的这个 gradle 的位置,直接将它删除 就可以了,所以问题就是要找到你开发电脑上这个gradle的位置,我在mac 上使用的搜索文件软件工具是
在这里插入图片描述

### 解决方案 当遇到 `java.util.zip.ZipException: zip END header not found` 错误时,这通常意味着 Gradle 下载的分发包存在问题或下载未完成。为了修复此问题,可以尝试以下方法: #### 方法一:更新 Gradle 版本并更换源地址 更改项目的 Gradle 分发 URL 可能会解决问题。具体来说,在 `gradle-wrapper.properties` 文件中指定一个新的 Gradle 发行版链接[^3]。 对于 Flutter 项目而言,建议将 `distributionUrl` 设置为稳定版本的 Gradle 链接,例如: ```properties distributionUrl=https\://services.gradle.org/distributions/gradle-6.9-all.zip ``` 如果上述官方链接仍然无法正常工作,则可考虑使用国内镜像站点来加速下载过程,比如腾讯云提供的镜像服务[^5]: ```properties distributionUrl=https\://mirrors.cloud.tencent.com/gradle/gradle-8.3-all.zip ``` #### 方法二:清理缓存与重建索引 有时本地存储的依赖项也可能造成此类错误。因此,清除 Android Studio 的缓存以及重新同步项目有助于排除潜在干扰因素[^2]。 执行如下命令以删除旧有的构建产物和临时文件夹: ```bash flutter clean rm -rf .dart_tool/ rm -rf build/ ``` 接着再次启动应用,让 IDE 自动处理必要的初始化流程。 #### 方法三:验证 ZIP 完整性和环境配置 确认所使用的 JDK 和其他开发工具链均处于良好状态,并且能够正确读取压缩文档。此外,还需确保网络连接畅通无阻,以便顺利完成远程资源获取操作[^1]。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

早起的年轻人

创作源于分享

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值