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

Visual Studio 2017中Android Device Manager创建AVD失败报错

解决Visual Studio Android Device Manager创建AVD时的非零退出码错误

问题根源

从你提供的日志能一眼看出核心问题:java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema。这是因为你当前用的是JDK 9或更高版本,而旧版Android SDK的avdmanager工具依赖的JAXB模块,在JDK 9+里被移除了,直接导致工具启动失败。

解决方案

有两种靠谱的解决办法,挑你方便的来:

方法1:切换到JDK 8运行AVD管理器

JDK 8自带完整的JAXB模块,完美兼容旧版Android SDK工具:

  • 先下载安装JDK 8(Oracle官方版或者OpenJDK都可以)
  • 找到Android SDK目录下的tools/bin/avdmanager.bat文件,右键选「以管理员身份打开」编辑
  • 在文件开头@echo off下面加一行,指定JDK 8的安装路径:
    set JAVA_HOME=C:\Program Files\Java\jdk1.8.0_291
    
    (记得把路径换成你实际安装的JDK 8位置)
  • 保存修改后,重启Visual Studio的Android Device Manager再试创建虚拟设备

方法2:修改脚本添加JVM参数(不用换JDK)

要是不想换JDK版本,直接给avdmanager的启动命令补全缺失的模块引用就行:

  • 打开C:\Program Files (x86)\Android\android-sdk\tools\bin\avdmanager.bat(需要管理员权限)
  • 找到调用Java的那一行,原始内容大概是这样:
    call "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %AVDMANAGER_OPTS% -classpath "%CLASSPATH%" com.android.sdklib.tool.AvdManagerCli %*
    
  • 在%DEFAULT_JVM_OPTS%后面加上--add-modules java.xml.bind,java.activation,修改后变成:
    call "%JAVA_EXE%" %DEFAULT_JVM_OPTS% --add-modules java.xml.bind,java.activation %JAVA_OPTS% %AVDMANAGER_OPTS% -classpath "%CLASSPATH%" com.android.sdklib.tool.AvdManagerCli %*
    
  • 保存后重启Visual Studio,再尝试创建AVD就没问题了

补充说明

你不管选哪个Android版本都出问题,根本不是系统镜像的锅,就是Android SDK工具和高版本JDK不兼容的事儿,按上面的方法修复JDK环境或者补全参数就能解决。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 07:31:05