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

Android项目构建报错:Unsupported class file major version 62

问题分析与解决:Unsupported class file major version 62(关联SimpleDateFormat)

错误本质

Unsupported class file major version 62意味着项目中存在用Java 18编译的class文件,但当前Android构建环境(核心是Android Gradle插件,AGP)不支持解析这个版本的字节码。Java版本与major version对应关系:62=Java18,61=Java17,55=Java11,以此类推。

常见根源

1. JDK版本切换

近期你可能更换了本地JDK版本到18,或者构建环境(比如CI/CD、Android Studio自动更新)默认启用了Java18。而AGP对高版本JDK的支持有明确限制:

  • AGP 7.0~7.4:仅支持Java 11及以下
  • AGP 8.0+:支持Java 17及以下(官方暂未正式支持Java18)

2. 依赖库版本更新

你近期升级的某个依赖库(恰好包含SimpleDateFormat相关逻辑)可能改用Java18编译发布,导致项目引入了不兼容的class文件。

3. 编译配置误修改

项目的sourceCompatibility、targetCompatibility被误设置为JavaVersion.VERSION_18,或者compileSdkVersion与JDK版本不匹配,触发了高版本字节码编译。

解决步骤

1. 回退JDK版本

  • 打开Android Studio,通过File > Project Structure > SDK Location > JDK Location选择兼容的JDK(推荐用Studio自带的JDK,比如AGP8.x对应自带的Java17,AGP7.x对应Java11)
  • 如果是命令行构建,确保JAVA_HOME指向符合要求的JDK版本

2. 排查并调整依赖

  • 查看近期修改的依赖项,回退到之前能正常运行的版本
  • 执行./gradlew dependencies生成依赖树,定位可能引入高版本class的依赖(结合构建日志里的SimpleDateFormat关联信息缩小范围)

3. 修正编译配置

打开Module级别的build.gradle文件,确保编译配置与AGP版本匹配:

android {
    compileSdk 34 // 对应AGP8.x,若用AGP7.x可设为33
    defaultConfig {
        // 其他配置...
    }
    compileOptions {
        // AGP7.x用VERSION_11,AGP8.x用VERSION_17
        sourceCompatibility JavaVersion.VERSION_17
        targetCompatibility JavaVersion.VERSION_17
    }
    // 若项目用Kotlin,需同步设置jvmTarget
    kotlinOptions {
        jvmTarget = "17"
    }
}

4. 清理构建缓存

执行命令彻底清理缓存,避免残留的高版本字节码:

./gradlew clean build --refresh-dependencies

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 17:48:15