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

无法通过Codename One生成Android APK的问题求助

解决Codename One Android APK构建问题:JAXB缺失与Android Studio菜单异常

一、解决java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema异常

Java 11及以上版本移除了JAXB(javax.xml.bind)模块,而Codename One的Android构建流程依赖该模块,导致抛出此异常。可通过以下两种方式解决:

方法1:构建命令临时引入JAXB模块

执行Maven构建命令时,添加JVM参数指定加载JAXB模块:

mvn clean install -Dandroid.build.extraJvmArgs="--add-modules java.xml.bind"

方法2:修改pom.xml永久添加JAXB依赖

在项目的pom.xml的<dependencies>块中加入以下依赖,确保构建时自动引入JAXB相关类:

<dependency>
    <groupId>javax.xml.bind</groupId>
    <artifactId>jaxb-api</artifactId>
    <version>2.3.1</version>
</dependency>
<dependency>
    <groupId>com.sun.xml.bind</groupId>
    <artifactId>jaxb-core</artifactId>
    <version>2.3.0.1</version>
</dependency>
<dependency>
    <groupId>com.sun.xml.bind</groupId>
    <artifactId>jaxb-impl</artifactId>
    <version>2.3.3</version>
</dependency>

添加完成后,重新执行Maven构建命令即可。

二、解决Android Studio Build菜单缺少Build Bundle(s)/Generate Signed Bundle/APK选项的问题

该问题是因为项目未被正确识别为Android应用模块,或Android Studio配置不完整,可按以下步骤修复:

  • 重新导入正确的Android项目目录:Codename One构建后会在项目的target/android目录生成Android项目文件,关闭当前项目后,选择File > New > Import Project,选中该target/android目录导入,确保Android Studio识别为Android应用模块。
  • 检查并更新Android SDK组件:打开Tools > SDK Manager,确认Android SDK Build-Tools、Android SDK Platform-Tools为最新版本,且项目目标API级别对应的SDK Platform已安装。
  • 同步Gradle配置:点击工具栏中的Sync Project with Gradle Files按钮,等待同步完成,修复Gradle配置中的错误提示(如调整Gradle版本或依赖版本)。
  • 启用Android Support插件:打开File > Settings > Plugins,搜索Android Support,确认插件处于启用状态,若未启用则勾选后重启Android Studio。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 12:55:13