VS Code中运行./gradlew signingReport报错:不支持类文件主版本63
解决Gradle编译报错(Unsupported class file major version 63)
这个错误确实是Java版本不匹配导致的,Major Version 63对应Java 19,你的Gradle版本或项目配置的Java版本与当前JDK版本不兼容,以下是具体修改步骤:
1. 调整项目Java兼容性配置
打开Flutter项目的android/app/build.gradle文件,找到compileOptions区块(有Kotlin的话同步修改kotlinOptions),将版本指定为项目兼容的Java版本(推荐Java 11):
android { compileOptions { sourceCompatibility JavaVersion.VERSION_11 targetCompatibility JavaVersion.VERSION_11 } kotlinOptions { jvmTarget = '11' } }
2. 指定Gradle使用的JDK路径
- 打开项目根目录的
android/gradle.properties文件,添加或修改配置:
org.gradle.java.home=C:\\Program Files\\Java\\jdk-11.x.x # 替换为你本地JDK 11的实际路径
- 或者在VS Code的设置(快捷键Ctrl+,)中搜索
gradle.java.home,直接设置为JDK 11的路径。
3. 匹配Gradle与JDK版本
打开android/build.gradle文件,检查Gradle插件版本,确保它支持你使用的JDK版本:
- Gradle 7.3+支持Java 17,7.0+支持Java 16,6.7+支持Java 15,6.3+支持Java 14,5.4+支持Java 12,5.0+支持Java 11
如果Gradle版本过低,可升级插件和Gradle wrapper:- 修改
android/build.gradle中的依赖:
dependencies { classpath 'com.android.tools.build:gradle:7.4.2' // 替换为兼容的插件版本 }- 修改
android/gradle/wrapper/gradle-wrapper.properties中的下载链接:
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip - 修改
4. 清理缓存重新构建
运行以下命令清理缓存后再尝试生成签名报告:
flutter clean cd android ./gradlew clean cd .. flutter pub get ./gradlew signingReport
内容的提问来源于stack exchange,提问作者Abraham Tellez
相关产品推荐
相关产品推荐

