You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter从1.22.6升级至2.2后运行项目Gradle下载构件报ZipException如何解决

问题根因

报错中出现的java.util.zip.ZipException: error in opening zip file是因为Gradle Wrapper对应的版本压缩包在之前下载过程中出现断流、数据丢失,导致本地缓存的压缩包损坏无法解压。你之前调整Gradle版本未生效,是因为本地缓存的损坏包没有被清理,每次运行都会尝试读取损坏的压缩文件。

解决步骤
  • 第一步:删除本地损坏的Gradle缓存包
    根据你的操作系统进入对应目录:
    • Windows:C:\Users\你的系统用户名\.gradle\wrapper\dists
    • Mac/Linux:~/.gradle/wrapper/dists
      找到你当前项目使用的Gradle版本对应的文件夹直接删除,不确定的话可以删除dists目录下所有内容,缓存删除后不会影响原有项目,后续运行时会自动重新下载需要的Gradle版本包。
  • 第二步:替换Android项目的镜像源(避免下载时再次出现包损坏的问题)
    打开Flutter项目下的android/build.gradle文件,修改buildscript和allprojects代码块中的repositories配置,替换为国内镜像:
    buildscript {
        ext.kotlin_version = '1.5.31'
        repositories {
            // 注释掉原有google()、jcenter()等默认源
            maven { url 'https://maven.aliyun.com/repository/google' }
            maven { url 'https://maven.aliyun.com/repository/jcenter' }
            maven { url 'https://maven.aliyun.com/repository/public' }
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:4.2.0'
            classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        }
    }
    
    allprojects {
        repositories {
            // 注释掉原有google()、jcenter()等默认源
            maven { url 'https://maven.aliyun.com/repository/google' }
            maven { url 'https://maven.aliyun.com/repository/jcenter' }
            maven { url 'https://maven.aliyun.com/repository/public' }
        }
    }
    
  • 第三步:重新运行项目
    在Flutter项目根目录依次执行以下命令:
    flutter clean
    flutter run
    
    此时会自动重新下载完整的Gradle压缩包,解压完成后即可正常运行项目。

内容的提问来源于stack exchange,提问作者CharlyKeleb

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.18 12:06:05