Flutter执行./gradlew signingReport报错无法获取签名报告
解决Gradle编译Groovy报错Unsupported class file major version 65的方案
错误原因
这个错误是因为当前使用的Java版本为21(对应class文件版本65),但项目依赖的Gradle或Groovy版本暂不支持Java 21,导致编译Groovy代码时出现兼容性问题。
解决步骤
- 降低Java版本到Gradle支持的稳定版本(推荐Java 17,适配绝大多数Flutter项目的Gradle版本)
- 下载并安装Java 17
- 配置环境变量:将Java 17的
bin目录添加到PATH,同时设置JAVA_HOME指向Java 17的安装路径 - 验证:打开终端执行
java -version,确认输出为Java 17版本
- 或升级项目Gradle版本至支持Java 21的版本(注意需匹配Flutter兼容性)
- 打开项目中
android/build.gradle文件,将gradle依赖版本修改为支持Java 21的版本(例如Gradle 8.3及以上) - 打开
android/gradle/wrapper/gradle-wrapper.properties,修改distributionUrl为对应版本的Gradle包,示例:distributionUrl=https\://services.gradle.org/distributions/gradle-8.3-all.zip - 重新执行
./gradlew signingReport命令
- 打开项目中
临时应急方案
若不想全局切换Java版本,可在执行命令时指定Java路径:
./gradlew signingReport -Dorg.gradle.java.home=/path/to/java17
将/path/to/java17替换为你Java 17的实际安装路径。
内容的提问来源于stack exchange,提问作者Vinayak Sutar
相关产品推荐
相关产品推荐

