flutter 编译报错java.util.zip.ZipException: zip END header not found

文章目录

  • 问题报错
  • 问题解决
      • 解决方案:
        • [1. **删除损坏的 Gradle 文件并重新下载**](#1. 删除损坏的 Gradle 文件并重新下载)
        • [2. **手动下载并替换 Gradle 文件**](#2. 手动下载并替换 Gradle 文件)
        • [3. **清理并重建项目**](#3. 清理并重建项目)
        • [4. **使用特定版本的 Gradle**](#4. 使用特定版本的 Gradle)
        • [5. **检查磁盘空间和权限**](#5. 检查磁盘空间和权限)
        • [6. **禁用防病毒软件**](#6. 禁用防病毒软件)

问题报错

Launching lib\main.dart on m2 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 S o u r c e . z e r r o r ( Z i p F i l e . j a v a : 1607 ) a t j a v a . b a s e / j a v a . u t i l . z i p . Z i p F i l e Source.zerror(ZipFile.java:1607) at java.base/java.util.zip.ZipFile Source.zerror(ZipFile.java:1607)atjava.base/java.util.zip.ZipFileSource.findEND(ZipFile.java:1497)

at java.base/java.util.zip.ZipFile S o u r c e . i n i t C E N ( Z i p F i l e . j a v a : 1504 ) a t j a v a . b a s e / j a v a . u t i l . z i p . Z i p F i l e Source.initCEN(ZipFile.java:1504) at java.base/java.util.zip.ZipFile Source.initCEN(ZipFile.java:1504)atjava.base/java.util.zip.ZipFileSource.(ZipFile.java:1308)

at java.base/java.util.zip.ZipFile S o u r c e . g e t ( Z i p F i l e . j a v a : 1271 ) a t j a v a . b a s e / j a v a . u t i l . z i p . Z i p F i l e Source.get(ZipFile.java:1271) at java.base/java.util.zip.ZipFile Source.get(ZipFile.java:1271)atjava.base/java.util.zip.ZipFileCleanableResource.(ZipFile.java:733)

at java.base/java.util.zip.ZipFile$CleanableResource.get(ZipFile.java:850)

at java.base/java.util.zip.ZipFile.(ZipFile.java:248)

at java.base/java.util.zip.ZipFile.(ZipFile.java:177)

at java.base/java.util.zip.ZipFile.(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)

Error: Gradle task assembleDebug failed with exit code 1

问题解决

这个错误表明 Gradle 的 ZIP 文件损坏或不完整。这通常发生在 Gradle 下载过程中断或文件未完整下载时。以下是解决方案:

解决方案:

1. 删除损坏的 Gradle 文件并重新下载
  • 找到 Gradle 缓存目录:
    • Windows: C:\Users\<你的用户名>\.gradle\wrapper\dists\
    • macOS/Linux: ~/.gradle/wrapper/dists/
  • 删除与你的项目所需的 Gradle 版本对应的文件夹(例如 gradle-7.5-all
  • 重新运行 flutter run,让 Gradle 重新下载完整文件
2. 手动下载并替换 Gradle 文件
  1. 查看项目所需的 Gradle 版本:
    • 打开 android/gradle/wrapper/gradle-wrapper.properties
    • 找到 distributionUrl 行,记下 Gradle 版本号(例如 gradle-7.5-all.zip
  2. 手动下载正确版本的 Gradle:
  3. 替换文件:
    • 将下载的文件复制到 Gradle 缓存目录中对应的文件夹
    • 路径类似:C:\Users\<用户名>\.gradle\wrapper\dists\gradle-7.5-all\<随机字符串>\
3. 清理并重建项目

在项目根目录运行以下命令:

bash 复制代码
flutter clean
rm -rf android/.gradle  # 在 Windows 上使用: rmdir /s /q android\.gradle
flutter pub get
4. 使用特定版本的 Gradle

如果问题持续,可以尝试在 android/gradle/wrapper/gradle-wrapper.properties 中指定一个不同的 Gradle 版本:

properties 复制代码
distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-all.zip
5. 检查磁盘空间和权限
  • 确保有足够的磁盘空间
  • 确保对 Gradle 目录有读写权限
6. 禁用防病毒软件

某些防病毒软件可能会干扰 Gradle 的文件操作,暂时禁用它们可能有助于解决问题。

完成上述步骤后,重新运行 flutter run。如果问题仍然存在,请尝试创建一个新的 Flutter 项目来测试是否是当前项目特有的问题。


结束语

Flutter是一个由Google开发的开源UI工具包,它可以让您在不同平台上创建高质量、美观的应用程序,而无需编写大量平台特定的代码。我将学习和深入研究Flutter的方方面面。从基础知识到高级技巧,从UI设计到性能优化,欢饮关注一起讨论学习,共同进入Flutter的精彩世界!

相关推荐
计算机安禾8 小时前
【c++面向对象编程】第24篇:类型转换运算符:自定义隐式转换与explicit
java·c++·算法
雪度娃娃8 小时前
转向现代C++——优先选用nullptr而不是0和NULL
开发语言·c++
weixin199701080168 小时前
【保姆级教程】淘宝/天猫商品详情 API(item_get)接入指南:Python/Java/PHP 调用示例与 JSON 返回值解析
java·python·php
萌新小码农‍8 小时前
python装饰器
开发语言·前端·python
环流_8 小时前
redis核心数据类型在java中的操作
java·数据库·redis
KK溜了溜了8 小时前
Python从入门到精通
服务器·开发语言·python
雨辰AI8 小时前
SpringBoot3 项目国产化改造完整流程|从 MySQL 到人大金仓落地
java·数据库·后端·mysql·政务
带刺的坐椅9 小时前
Java 流程编排新范式 Solon Flow:一个引擎,七种节点,覆盖规则/任务/工作流/AI 编排全场景
java·spring·ai·solon·flow
故事和你919 小时前
洛谷-【图论2-1】树5
开发语言·数据结构·c++·算法·动态规划·图论
threelab9 小时前
Three.js 初中数学函数可视化 | 三维可视化 / AI 提示词
开发语言·前端·javascript·人工智能·3d·着色器