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

升级Android Studio 2024.2.1后Flutter项目编译报错:Unsupported class file major version 65

解决Flutter项目Gradle编译错误(Unsupported class file major version 65)

错误原因

Unsupported class file major version 65对应Java 21,说明你的Flutter项目中Gradle版本与当前使用的Java 21不兼容——尽管纯Android Java项目能正常运行,但Flutter项目的默认Gradle配置未适配高版本JDK,导致Groovy编译任务失败。

解决方案

1. 升级Gradle版本

打开项目根目录下的android/gradle/wrapper/gradle-wrapper.properties,将distributionUrl替换为支持Java 21的Gradle版本(需Gradle 8.7及以上):

distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-all.zip

2. 统一项目JDK配置

  • 确认AS的JDK路径:打开File > Project Structure > SDK Location,确保JDK位置指向Android Studio 2024.2.1自带的Java 21(路径示例:Windows为C:\Program Files\Android\Android Studio\jbr,Mac为/Applications/Android Studio.app/Contents/jbr/Contents/Home)。
  • 修改项目级build.gradle:在android/build.gradle中添加JDK版本指定:
    buildscript {
        ext.kotlin_version = '1.9.22'
        repositories {
            google()
            mavenCentral()
        }
        dependencies {
            classpath "com.android.tools.build:gradle:8.4.0"
            classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        }
    }
    
    allprojects {
        repositories {
            google()
            mavenCentral()
        }
    }
    
    // 统一Groovy和Java编译的JDK版本
    tasks.withType(JavaCompile) {
        sourceCompatibility = JavaVersion.VERSION_21
        targetCompatibility = JavaVersion.VERSION_21
    }
    
    tasks.withType(GroovyCompile) {
        sourceCompatibility = JavaVersion.VERSION_21
        targetCompatibility = JavaVersion.VERSION_21
    }
    
  • 修改App级build.gradle:在android/app/build.gradle的android块中添加编译配置,并引入脱糖依赖:
    android {
        compileSdk 34
    
        defaultConfig {
            // 保留原有配置...
        }
    
        compileOptions {
            coreLibraryDesugaringEnabled true
            sourceCompatibility JavaVersion.VERSION_21
            targetCompatibility JavaVersion.VERSION_21
        }
    
        kotlinOptions {
            jvmTarget = '21'
        }
    }
    
    dependencies {
        coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.0.4'
        // 保留原有依赖...
    }
    

3. 对齐Flutter的JDK环境

运行flutter doctor -v检查Flutter使用的JDK路径,若与AS不一致,设置系统环境变量JAVA_HOME指向AS自带的Java 21路径,确保Flutter和AS使用同一JDK。

4. 清理缓存并重启

  • 执行命令:flutter clean
  • 删除项目android/.gradle文件夹
  • 打开Android Studio,点击File > Invalidate Caches... > Invalidate and Restart

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 10:27:10