Flutter获取SHA-1证书指纹时遇Unsupported class file major version 65错误求助
解决Flutter中
./gradlew signingReport报Unsupported class file major version 65错误并获取SHA-1指纹 这个错误是Java版本与Gradle版本不兼容导致的:major version 65对应Java 21,而你当前项目的Gradle版本不支持这么高的Java版本。下面给你两种解决方案,优先推荐第二种(更适合新手):
方案一:调整Java/Gradle版本适配
- 查看当前项目Gradle版本
打开项目的android/build.gradle文件,找到classpath 'com.android.tools.build:gradle:x.x.x',记下x.x.x的版本号。 - 匹配兼容的Java版本
- Gradle 7.0+ → 支持Java 11
- Gradle 8.0+ → 支持Java 17
- Java 21 → 需要Gradle 8.3及以上版本
- 二选一执行:
- 降低Java版本:下载对应兼容的Java版本(比如Java 17),在Android Studio中通过
File > Project Structure > SDK Location > JDK Location切换到该版本,再重新执行cd android和gradlew signingReport(Windows系统不用加./)。 - 升级Gradle版本:
- 修改
android/build.gradle中的gradle插件版本为8.3以上,比如classpath 'com.android.tools.build:gradle:8.3.0' - 修改
android/gradle/wrapper/gradle-wrapper.properties中的distributionUrl为https\://services.gradle.org/distributions/gradle-8.3-bin.zip - 同步项目后重新执行签名报告命令。
- 修改
- 降低Java版本:下载对应兼容的Java版本(比如Java 17),在Android Studio中通过
方案二:用Android Studio直接获取SHA-1(新手友好)
- 打开你的Flutter项目,点击顶部菜单栏
View > Tool Windows > Gradle,调出右侧Gradle面板。 - 展开项目节点 →
android→Tasks→android。 - 找到
signingReport选项,双击运行。 - 运行完成后,在底部Run面板中,找到
SHA1字段,就是你需要的证书指纹(debug和release环境的指纹都会显示)。
内容的提问来源于stack exchange,提问作者Manon
相关产品推荐
相关产品推荐

