Android Studio运行Flutter应用时抛出ZipException异常
解决Flutter运行时
java.util.zip.ZipException: zip END header not found异常 这个异常通常是因为zip格式的文件(依赖包、引擎文件或Android构建资源)下载不完整、损坏,或者缓存冲突导致的,以下是针对性的解决步骤:
清理项目缓存并重建
- 执行Flutter清理命令:
flutter clean - 清除Android Studio缓存:点击菜单栏
File→Invalidate Caches...,勾选"Clear file system cache and local history",然后点击Invalidate and Restart - 重新获取依赖:
flutter pub get - 重新启动项目:
flutter run
- 执行Flutter清理命令:
删除损坏的依赖缓存
- 找到Flutter的pub缓存目录(Windows:
%APPDATA%\Pub\Cache;Mac/Linux:~/.pub-cache),删除对应项目的依赖文件夹后重新执行flutter pub get - 清理Android Gradle缓存:删除项目根目录下的
.gradle文件夹,以及android/.gradle文件夹,再重新构建项目
- 找到Flutter的pub缓存目录(Windows:
排查并修复不完整的zip文件
异常的核心是某个zip包缺少END头,找到项目中涉及的zip格式文件(比如依赖的aar/jar包、Flutter引擎压缩包),手动删除后让构建工具重新下载。如果是Android SDK组件损坏,通过SDK Manager重新下载对应的build-tools、platforms等组件。优化Gradle仓库配置(针对网络问题)
如果是网络导致的下载不完整,修改android/build.gradle文件,替换为国内镜像仓库:buildscript { repositories { maven { url 'https://maven.aliyun.com/repository/google' } maven { url 'https://maven.aliyun.com/repository/jcenter' } maven { url 'https://maven.aliyun.com/nexus/content/groups/public' } } } allprojects { repositories { maven { url 'https://maven.aliyun.com/repository/google' } maven { url 'https://maven.aliyun.com/repository/jcenter' } maven { url 'https://maven.aliyun.com/nexus/content/groups/public' } } }修改后重新执行
flutter run
内容的提问来源于stack exchange,提问作者prathamesh patil
相关产品推荐
相关产品推荐

