【Flutter】Android Studio自动创建的flutter项目遇到的问题

1,219 阅读1分钟

在Android studio中安装了Flutter插件后,new 一个flutter项目,项目生成后遇到的几个报错。

1.运行自动生成的flutter项目第一个遇到的问题Exception in thread "main" java.util.zip.ZipException: zip END header not found

Snipaste_2025-05-09_14-21-31.png 该问题是gradle下载的问题,把gradle-wrapper.properties文件中distributionUrl改为腾讯云的镜像地址就可以解决。 Snipaste_2025-05-09_14-27-54.png 2.再运行又报错Your project's Gradle version is incompatible with the Java version that Flutter is using for Gradle.

Snipaste_2025-05-09_14-29-04.png 字面大致意思是gradle版本和java版本不兼容 在命令框中执行**flutter analyze --suggestions**命令,用于分析项目中潜在的问题,运行后输出:

Snipaste_2025-05-09_14-36-21.png 果然最后一项是个叉号,版本不兼容并分别给出了java和gradle的版本号。 通过 AndroidStdio 创建的 Flutter项目,默认 gradle 版本是 7.6.3,如果当前 JDK 版本为 21 时,gradle 需要升级到 8.5 及以上才能支持(JDK 与 Gradle 版本的对应关系详见 # Compatibility Matrix) 解决方法是改两个地方:

①gradle-wrapper.properties 中的 distributionUrl

Snipaste_2025-05-09_14-47-06.png ②settings.gradle 中的 com.android.application(AGP),需要注意的是AGP的版本和下面kotlin的版本也要兼容(参考# Configure a Gradle project),改成:

Snipaste_2025-05-09_14-48-52.png 此时再运行**flutter analyze --suggestions**命令就会得到:

Snipaste_2025-05-09_14-55-40.png全都是对号了@_@ ,OK再来运行项目,终于跑起来了哈哈。等等怎么打印了3个警告:

警告: [options] 源值 8 已过时,将在未来发行版中删除

警告: [options] 目标值 8 已过时,将在未来发行版中删除

警告: [options] 要隐藏有关已过时选项的警告, 请使用 -Xlint:-options。

Snipaste_2025-05-09_15-00-44.png强迫症不能忍,查了查说是因为SDK的版本:

Snipaste_2025-05-09_15-03-28.png改成:

Snipaste_2025-05-09_15-04-49.png完美解决。