Cordova Android构建失败:Unsupported class file major version 66及Android target缺失
Gradle构建失败原因及修复
原因
错误Unsupported class file major version 66是Java版本不兼容导致的:Java 22的class文件版本号为66,而你使用的cordova-android@^13.0.0依赖的Android Gradle Plugin(AGP)8.1仅支持Java 17及以下版本,无法识别Java 22生成的class文件。
修复步骤
- 卸载当前Java 22,安装Java 17(OpenJDK或Oracle JDK均可)。
- 验证Java版本切换成功:执行
java -version,输出应为17.x.x。
Android Target缺失问题修复
原因
报错spawn avdmanager ENOENT是因为Android SDK的Command Line Tools未安装,或环境变量未正确配置,导致Cordova无法找到avdmanager工具;同时可能缺少cordova-android@13.x要求的Android平台组件。
修复步骤
安装Command Line Tools
打开Android Studio,进入Settings > Appearance & Behavior > System Settings > Android SDK,切换到SDK Tools标签,勾选Android SDK Command-line Tools (latest),点击Apply完成安装。配置环境变量
- 设置
ANDROID_HOME为你的Android SDK安装路径(macOS默认路径为~/Library/Android/sdk)。 - 将
$ANDROID_HOME/cmdline-tools/latest/bin添加到系统PATH中。
- 设置
安装对应Android平台组件
在SDK Platforms标签下勾选Android 13 (Tiramisu)(API level 33);在SDK Tools标签下勾选Android SDK Build-Tools 33.0.2,完成安装。验证配置
重新执行cordova requirements,确认Android target显示为已安装状态。
最终验证
完成上述所有配置后,重新执行cordova build android即可正常构建Android应用。
内容的提问来源于stack exchange,提问作者axolotlKing0722

