无法构建Cordova Android项目:构建失败异常及环境检测报错求助
Cordova Android项目构建失败问题
问题背景
花费数小时尝试创建简单Cordova项目,安装完Java SDK、Gradle、Android Studio并配置环境变量后,仍无法完成构建流程。
操作步骤
cordova create Testproject com.example.hello Testprojectcd Testprojectcordova platform add android@10.1.1
报错信息
执行cordova requirements时的错误:
C:\Users\NAME\Desktop\TestProject>cordova requirements Requirements check results for android: Java JDK: installed 19.0.1 Android SDK: installed true Android target: not installed Command failed with exit code 1: avdmanager list target Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema at com.android.repository.api.SchemaModule$SchemaModuleVersion.<init>(SchemaModule.java:156) at com.android.repository.api.SchemaModule.<init>(SchemaModule.java:75) at com.android.sdklib.repository.AndroidSdkHandler.<clinit>(AndroidSdkHandler.java:81) at com.android.sdklib.tool.AvdManagerCli.run(AvdManagerCli.java:213) at com.android.sdklib.tool.AvdManagerCli.main(AvdManagerCli.java:200) Caused by: java.lang.ClassNotFoundException: javax/xml/bind/annotation/XmlSchema at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) ... 5 more Gradle: installed C:\gradle-6.9.3\bin\gradle.BAT Some of requirements check failed
执行cordova build时的错误:
C:\Users\NAME\Desktop\TestProject>cordova build Checking Java JDK and Android SDK versions ANDROID_SDK_ROOT=undefined (recommended setting) ANDROID_HOME=C:\Users\NAME\AppData\Local\Android\Sdk (DEPRECATED) Using Android SDK: C:\Users\NAME\AppData\Local\Android\Sdk Starting a Gradle Daemon (subsequent builds will be faster) FAILURE: Build failed with an exception. * Where: Settings file 'C:\Users\NAME\Desktop\TestProject\platforms\android\settings.gradle' * What went wrong: Could not compile settings file 'C:\Users\NAME\Desktop\TestProject\platforms\android\settings.gradle'. > startup failed: General error during semantic analysis: Unsupported class file major version 63
settings.gradle文件内容
// GENERATED FILE - DO NOT EDIT apply from: "cdv-gradle-name.gradle" include ":" include ":CordovaLib" include ":app"
环境版本信息
- Java Version: 19.0.1
- Cordova Version: 11.0.0
- NPM Version: 7.15.0
- Gradle Version: 6.9.3
解决方案
1. 降级Java版本
当前使用的Java 19属于高版本,Cordova Android 10.1.1和Gradle 6.9.3不支持该版本:
Unsupported class file major version 63对应Java 19,Gradle 6.x最高支持Java 15,建议直接降级到Java 8或Java 11(这两个是Android开发的长期支持版本,兼容性最优)。- 卸载Java 19后安装Java 8/11,更新系统环境变量
JAVA_HOME和Path指向新的Java安装目录。
2. 解决avdmanager依赖缺失问题
Java 9及以上移除了JAXB模块,旧版Android SDK工具依赖该模块。如果暂时不想降级Java,可通过以下方式临时修复:
- 添加系统环境变量
JAVA_OPTS,值为--add-modules java.xml.bind - 或执行
avdmanager时手动追加参数:avdmanager --add-modules java.xml.bind list target
但优先推荐降级Java,避免后续更多兼容性问题。
3. 配置Android环境变量与SDK目标版本
- 设置
ANDROID_SDK_ROOT环境变量,指向你的Android SDK目录(即C:\Users\NAME\AppData\Local\Android\Sdk),替代已废弃的ANDROID_HOME。 - 打开Android Studio的SDK Manager,安装Android 30(API Level 30)(Cordova Android 10.x默认针对该API版本)。
4. 验证配置并重新构建
- 执行
cordova requirements,确认所有检查项通过。 - 移除现有Android平台后重新添加:
cordova platform remove android cordova platform add android@10.1.1 - 再次执行
cordova build尝试构建。
内容的提问来源于stack exchange,提问作者Pha4g
相关产品推荐
相关产品推荐

