You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

升级Kotlin版本后Flutter Android应用启动即崩溃问题排查

问题根源

Unsupported class file major version 65 是核心错误:你当前使用的Java 21对应的class文件版本是65,但Gradle 7.6.1最高仅支持Java 17(class版本61),导致Groovy编译无法处理高版本class文件,直接引发构建失败。

解决思路(二选一即可)

方案一:降级Java到17(适配现有Gradle版本,更稳妥)

  1. 卸载当前Java 21,安装OpenJDK 17
    brew uninstall openjdk@21
    brew install openjdk@17
    
  2. 配置环境变量让项目使用Java 17
    • 临时生效:终端执行以下命令后再运行构建
      export JAVA_HOME=/usr/local/opt/openjdk@17
      flutter clean
      flutter pub get
      flutter run
      
    • 永久生效:编辑~/.zshrc或~/.bash_profile,添加以下内容后执行source ~/.zshrc
      export JAVA_HOME=/usr/local/opt/openjdk@17
      
  3. 同步Android Studio配置:打开Android Studio → 偏好设置 → Build, Execution, Deployment → Build Tools → Gradle,将Gradle JDK设置为OpenJDK 17

方案二:升级Gradle到支持Java 21的版本(需同步升级插件)

Gradle 8.0及以上支持Java 21,按以下步骤调整配置:

  1. 修改gradle-wrapper.properties的Gradle版本
    distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip
    
  2. 更新settings.gradle中的Android Gradle Plugin(AGP)版本(Gradle 8.5需搭配AGP 8.0+)
    id "com.android.application" version '8.2.2' apply false
    
  3. (可选)更新应用级build.gradle的Java版本配置,匹配Java 21
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_21
        targetCompatibility JavaVersion.VERSION_21
    }
    
    kotlinOptions {
        jvmTarget = '21'
    }
    
  4. 执行清理并重新构建
    flutter clean
    flutter pub get
    flutter run
    
补充检查
  • 确认项目local.properties中无硬编码的旧JDK路径
  • 彻底删除模拟器/真机上的旧应用后再重新安装运行

内容的提问来源于stack exchange,提问作者George K

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 05:49:50