Windows下Flutter打包APK报错:Unsupported class file major version 67
解决Flutter打包APK时JDK版本兼容问题
问题原因
报错Unsupported class file major version 67对应JDK 23的类文件版本,说明即使安装了JDK11,系统或项目仍在调用JDK23的环境,或是Gradle缓存残留了旧版本编译文件导致冲突。
具体解决步骤
彻底切换系统JDK环境
- 右键「此电脑」→「属性」→「高级系统设置」→「环境变量」
- 修改
JAVA_HOME为JDK11的安装路径(例如C:\Program Files\Java\jdk-11.0.24) - 在
Path变量中,将JDK11的bin路径移到最顶部,确保优先调用 - 打开新命令行窗口,执行
java -version和javac -version,确认输出为JDK11版本
清理Gradle缓存
- 删除Flutter项目Android目录下的
.gradle文件夹:K:\Mobile App\ipos\ipos\android\.gradle - 删除用户目录下的Gradle全局缓存:
C:\Users\[你的用户名]\.gradle\caches
- 删除Flutter项目Android目录下的
检查Flutter的Java环境配置
执行flutter doctor -v,查看输出中「Java binary at」的路径,确认指向JDK11。如果指向Flutter自带的Embedded JDK,可在项目的android/gradle.properties中添加:org.gradle.java.home=C:\\Program Files\\Java\\jdk-11.0.24确认Gradle版本与JDK11兼容
打开项目的android/build.gradle文件,检查classpath中的gradle插件版本,确保使用兼容JDK11的版本(推荐7.0+):buildscript { dependencies { classpath 'com.android.tools.build:gradle:7.4.2' } }重启开发环境
关闭所有IDE(Android Studio/VSCode)和命令行窗口,重新打开后再尝试打包。
内容的提问来源于stack exchange,提问作者Nalin Kariyawasam
相关产品推荐
相关产品推荐

