构建APK时遇Unsupported class file major version 61异常,求解决
解决Flutter构建APK时的"Unsupported class file major version 61"错误
错误原因
Unsupported class file major version 61错误本质是Gradle版本与Java版本不兼容:当前使用的Gradle 6.7不支持Java 17(major version 61对应Java 17),低版本Gradle无法识别高版本Java编译的类文件。
解决方案
以下三种方法任选其一即可:
方法1:降低Java版本至Gradle 6.7兼容范围
Gradle 6.7支持Java 8、11、15,操作方式:
- 打开项目
android/gradle.properties文件,添加或修改JDK路径配置:
替换路径为你本地已安装的兼容JDK实际路径org.gradle.java.home=C:/Program Files/Java/jdk1.8.0_301 - 或在IDE中配置:Android Studio通过
File → Project Structure → SDK Location指定兼容JDK;VS Code通过Java扩展设置切换项目JDK
方法2:升级Gradle版本以支持Java 17
Gradle 7.3及以上版本支持Java 17,操作步骤:
- 打开
android/gradle/wrapper/gradle-wrapper.properties,修改distributionUrl:distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip - 打开项目级
android/build.gradle,更新Android Gradle插件版本(需与Gradle版本匹配,比如Gradle 7.5对应插件7.4.2):dependencies { classpath 'com.android.tools.build:gradle:7.4.2' // 其他依赖保持不变 }
方法3:切换系统默认Java版本
- 执行
java -version确认当前默认Java版本,如果是17,通过环境变量切换:- Windows:设置
JAVA_HOME为兼容JDK路径,重启命令行后再执行flutter build apk - macOS/Linux:使用
update-alternatives命令切换默认Java版本
- Windows:设置
内容的提问来源于stack exchange,提问作者Ruble
相关产品推荐
相关产品推荐

