Flutter安卓端运行代码报错:Unsupported class file major version 60
问题诱因
- 核心原因为Gradle版本与Java版本不兼容:报错信息中
Unsupported class file major version 60的版本号60对应Java 16,而你当前项目使用的Gradle 6.7最高仅支持Java 15,高版本Java编译生成的类文件无法被低版本Gradle识别,导致BuildScript语义分析阶段抛出异常,连带无法正常加载构建类缓存。 - 次要可能诱因:之前异常构建产生的Gradle缓存文件损坏,进一步阻碍了配置加载流程。
解决方案
方案1:升级Gradle版本适配当前Java版本(推荐,无需修改全局Java环境)
- 打开项目下的
android/gradle/wrapper/gradle-wrapper.properties文件,修改distributionUrl字段,将原有的6.7版本替换为至少7.0以上的兼容版本,适配Java 16可使用7.4版本,修改后示例:distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-all.zip - 打开
android/build.gradle文件,修改Android Gradle插件版本与Gradle版本匹配,Gradle 7.4对应可使用7.0.4版本的AGP,修改dependencies代码块中的classpath配置:classpath 'com.android.tools.build:gradle:7.0.4'
方案2:降级Java版本适配现有Gradle 6.7
如果不想修改项目Gradle配置,可安装Java 15或更低的LTS版本(如Java 11),安装完成后配置系统环境变量JAVA_HOME指向新安装的Java版本路径,重启VS Code后配置生效。
收尾操作
完成上述任意一种配置修改后,执行以下操作清除旧缓存后重新构建即可:
- 打开项目终端,进入android目录,Windows系统执行
gradlew clean,Mac/Linux系统执行./gradlew clean - 回到Flutter项目根目录执行
flutter clean - 重新执行
flutter run尝试运行到安卓设备
内容的提问来源于stack exchange,提问作者asdsashi
相关产品推荐
相关产品推荐

