生成Flutter应用SHA密钥时遇':gradle:compileGroovy'执行失败错误
解决执行
./gradlew app:signingReport时的Unsupported class file major version 64错误 问题场景
为生成Flutter应用的SHA密钥,执行以下命令:
cd android ./gradlew app:signingReport
触发错误:
Execution failed for task ':gradle:compileGroovy'.
BUG! exception in phase 'semantic analysis' in source unit 'E:\Fluter\New folder\flutter\packages\flutter_tools\gradle\src\main\groovy\app_plugin_loader.groovy' Unsupported class file major version 64
- Try:
Run with --stacktrace option to get the stack trace.
Run with --info or --debug option to get more log output.
Run with --scan to get full insights.
原因
错误中的major version 64对应JDK 20,当前项目使用的Gradle/Groovy版本不兼容JDK 20及以上版本,导致Groovy编译失败。
解决方案
- 降级JDK版本:
- 执行
java -version确认当前JDK版本,若为20+,卸载并安装JDK 11或17(Gradle官方推荐的稳定版本) - 配置项目JDK:
- Android Studio中打开
File > Project Structure > SDK Location,在JDK location选择新安装的JDK路径 - 或设置系统环境变量
JAVA_HOME为JDK 11/17的安装目录,重启终端后重新执行命令
- Android Studio中打开
- 执行
- 升级Gradle版本(若需保留高版本JDK):
- 打开项目
android/build.gradle文件,将dependencies中的Gradle插件版本升级到8.0+(如classpath 'com.android.tools.build:gradle:8.1.0') - 打开
android/gradle/wrapper/gradle-wrapper.properties,将distributionUrl更新为对应版本的Gradle发行版,例如:distributionUrl=https\://services.gradle.org/distributions/gradle-8.1-bin.zip - 同步项目后重新执行生成SHA密钥的命令
- 打开项目
内容的提问来源于stack exchange,提问作者Haris Afaq
相关产品推荐
相关产品推荐

