Flutter项目Gradle构建失败:Unsupported class file major version 64
Flutter Gradle构建失败:Unsupported class file major version 64 问题排查与解决
核心问题分析
Unsupported class file major version 64 对应Java 20版本,说明构建环境中存在Java版本与Gradle版本不兼容的情况——即便已更新Gradle wrapper版本,仍可能因缓存残留、全局Java版本不匹配或项目配置未同步导致问题持续。
排查与解决步骤
确认全局Java版本与Flutter使用版本一致
执行以下命令对比版本:java -version flutter doctor --verbose确保两者输出的Java版本完全一致,若不一致,需通过环境变量或Java版本管理工具(如jEnv)切换到匹配版本。
彻底清理Gradle缓存
缓存残留可能导致旧配置生效,执行以下操作:# 删除用户全局Gradle缓存 rm -rf ~/.gradle/caches/ # 清理Flutter项目缓存 flutter clean # 删除项目本地Gradle缓存 rm -rf android/.gradle/修正项目Java版本配置
打开android/app/build.gradle,确保compileOptions和kotlinOptions中的Java版本与当前使用的Java版本匹配:android { compileOptions { sourceCompatibility JavaVersion.VERSION_20 // 替换为你的Java版本,如VERSION_17 targetCompatibility JavaVersion.VERSION_20 } kotlinOptions { jvmTarget = '20' // 对应上面的版本号 } }验证Gradle wrapper配置正确性
再次检查android/gradle/wrapper/gradle-wrapper.properties中的distributionUrl,确保Gradle版本与Java版本兼容:- Java 20 需搭配 Gradle 7.6 及以上版本
- Java 17 需搭配 Gradle 7.3 及以上版本
示例配置:
distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-bin.zip检查Android Gradle插件(AGP)版本兼容性
打开android/build.gradle,确认classpath中的AGP版本与Gradle版本匹配:buildscript { dependencies { classpath "com.android.tools.build:gradle:7.4.2" // Gradle7.6对应AGP7.4+ } }
完成以上步骤后,重新执行flutter build apk或对应构建命令即可。
内容的提问来源于stack exchange,提问作者mishalhaneef
相关产品推荐
相关产品推荐

