执行./gradlew signingReport报错:Groovy编译失败,不支持类文件主版本65
解决Gradle构建失败:不支持类文件主版本65的问题
执行./gradlew signingReport时出现构建失败,核心错误如下:
任务':gradle:compileGroovy'执行失败。源单元‘C:\Users\ACER\AndroidStudioProjects\flutter\packages\flutter_tools\gradle\src\main\groovy\app_plugin_loader.groovy’的语义分析阶段出现BUG,提示不支持类文件主版本65。
问题原因
类文件主版本65对应Java 21,当前使用的Gradle或Groovy版本不支持该Java版本,导致编译Groovy代码时触发兼容性报错。
解决方案
方案1:降级Java版本到兼容版本
- 执行
java -version确认当前Java版本,若为Java 21,卸载并安装Java 17(主版本61,Gradle 7.3+均支持) - 在模块的
build.gradle中配置指定Java版本:java { sourceCompatibility = JavaVersion.VERSION_17 targetCompatibility = JavaVersion.VERSION_17 }
方案2:升级Gradle和Groovy版本以支持Java 21
- 升级Gradle版本:修改项目根目录
gradle/wrapper/gradle-wrapper.properties中的distributionUrl,替换为支持Java 21的版本(如Gradle 8.3+):distributionUrl=https\://services.gradle.org/distributions/gradle-8.3-bin.zip - 模块
build.gradle中保持id 'groovy'即可(Gradle 8.x会自动匹配兼容的Groovy版本) - 在模块的
build.gradle中配置Java 21:java { sourceCompatibility = JavaVersion.VERSION_21 targetCompatibility = JavaVersion.VERSION_21 }
辅助排查命令
- 获取详细堆栈追踪:
./gradlew signingReport --stacktrace - 获取更多日志输出:
./gradlew signingReport --info(或--debug) - 获取完整构建分析:
./gradlew signingReport --scan
内容的提问来源于stack exchange,提问作者Ankush Choudhary
相关产品推荐
相关产品推荐

