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

所有依赖已更新,Cordova构建Android项目仍报错

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

问题描述

我已经尝试解决这个问题很久了,尽管Android SDK、Cordova、Gradle和Java都更新到了最新版本,但执行cordova build android命令构建项目时仍然报错。当前使用的版本是Java 23.0.2、Gradle 8.12.1。我尝试切换版本并调试,始终遇到版本不兼容相关错误,具体报错信息如下:

BUILD SUCCESSFUL in 2s
1 actionable task: 1 up-to-date
Subproject Path: CordovaLib
Subproject Path: app
Starting a Gradle Daemon, 1 incompatible Daemon could not be reused, use --status for details

FAILURE: Build failed with an exception.

* What went wrong:
BUG! exception in phase 'semantic analysis' in source unit '_BuildScript_' Unsupported class file major version 67
> Unsupported class file major version 67

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
> Get more help at https://help.gradle.org.

BUILD FAILED in 35s
Command failed with exit code 1: /Users/vivannkhanna/myApp/platforms/android/tools/gradlew cdvBuildDebug

问题原因

Unsupported class file major version 67对应Java 23的类文件版本。虽然Gradle 8.12.1官方宣称支持Java 23,但Cordova Android插件目前对Java 23的适配还不完善,导致Gradle无法处理高版本Java编译的类文件,引发兼容性错误。

解决方案

  • 降级Java到LTS稳定版
    建议切换到Java 21(长期支持版本,兼容性最优):

    1. 安装Java 21并设置系统环境变量JAVA_HOME指向其安装路径,终端执行java -version确认版本切换成功。
    2. 在项目的platforms/android/build.gradle中明确指定Java版本:
      android {
          compileOptions {
              sourceCompatibility JavaVersion.VERSION_21
              targetCompatibility JavaVersion.VERSION_21
          }
      }
      
  • 升级Cordova Android插件
    检查当前cordova-android版本,执行cordova platform ls查看。如果版本低于12.x,执行以下命令升级:

    cordova platform remove android
    cordova platform add android@latest
    

    新版本的cordova-android对高版本Java的兼容性更好。

  • 清理Gradle缓存与Daemon
    执行以下命令清除旧缓存和无效Daemon,避免干扰:

    rm -rf ~/.gradle/caches
    ./platforms/android/tools/gradlew --stop
    

    之后重新运行cordova build android。

  • 强制Gradle指定Java版本
    在platforms/android/gradle.properties文件中添加以下配置,强制Gradle使用兼容的Java版本:

    org.gradle.java.home=/你的Java21安装路径
    

    替换路径为你实际的Java 21安装目录。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 18:35:15