服务器与大带宽专家 · 持牌IDC/CDN/ISP服务商
简米科技官网JIANMI TECH
资讯 2026-10-14 更新于 2026-10-14 简米科技 3,771 字 9 分钟阅读

虚拟机安装adb失败怎么办?环境变量配置错误如何解决?

导读虚拟机中adb安装失败或环境变量配置报错,多数情况下不是adb程序本身有问题,而是USB直通未开启、系统PATH路径写错、设备驱动未就绪这三类细节引起的,先确认adb文件完整、再修正环境变量路径,绝大多数问题都能解决,虚拟机安装adb失败的常见原因与排查步骤adb文件本身不完整:丢失AdbWinApi.dll怎……

虚拟机中adb安装失败或环境变量配置报错,多数情况下不是adb程序本身有问题,而是USB直通未开启、系统PATH路径写错、设备驱动未就绪这三类细节引起的,先确认adb文件完整、再修正环境变量路径,绝大多数问题都能解决。

虚拟机安装adb失败的常见原因与排查步骤

adb文件本身不完整:丢失AdbWinApi.dll怎么办

adb不需要传统意义的"安装",它只是一个压缩包,解压就能用,所以安装失败最常见的表现是运行adb命令时报错:

  • 弹窗提示"无法启动此程序,因为计算机中丢失AdbWinApi.dll"
  • 提示"应用程序无法正常启动0xc000007b"
  • 双击adb.exe没有任何反应

这三类情况都属于adb文件解压不完整或平台工具版本与系统位数不匹配,行业共识认为,从第三方网站下载的精简版platform-tools是这类问题的重灾区,建议直接去谷歌官方开发者文档中的platform-tools下载页面获取完整压缩包,解压后检查目录内是否同时存在adb.exe、AdbWinApi.dll、AdbWinUsbApi.dll这三个文件。

在64位Windows系统上跑32位adb也会触发0xc000007b错误,官方提供的platform-tools已经包含两种架构的兼容文件,重新解压后一般可以解决。

adb devices不识别:先确认USB直通与驱动状态

虚拟机场景下,adb devices看不到设备,和实体机上的排查思路有明显差异,首要怀疑对象是虚拟机没有把USB设备直通给客户机。

以VMware Workstation为例,操作路径是:虚拟机菜单 → 可移动设备 → 找到你的手机型号 → 选择"连接",连接成功后,虚拟机右下角会出现对应硬件图标,VirtualBox的路径类似:设备菜单 → USB → 选择设备,如果以上操作无效,需要检查虚拟机设置中的USB控制器版本,手机是USB 3.0接口,但虚拟机只开启了1.1控制器,连接后系统直接提示"设备无法识别"。

USB直通确认无误后,再看Windows设备管理器,如果手机出现黄色感叹号,说明缺少OEM USB驱动,小米、华为、三星的手机连接虚拟机调试前,建议先安装各品牌官方USB驱动,或者使用通用的Google USB Driver。

虚拟机安装adb失败怎么办?环境变量配置错误如何解决?

adb环境变量配置错误如何解决

adb环境变量配置cmd:写入后仍报"不是内部或外部命令"

在cmd窗口手动执行set PATH=C:platform-tools后,当前窗口能正常使用adb,但新开一个cmd窗口又提示adb不是内部或外部命令,这就是典型的环境变量修改未持久化。

正确步骤分两步:

  • 右键"此电脑" → 属性 → 高级系统设置
  • 环境变量 → 在"系统变量"中找到Path → 编辑 → 新建 → 粘贴platform-tools所在路径

保存后务必关闭所有cmd窗口再重新打开,因为cmd窗口在启动时读取环境变量,已经打开的窗口不会自动刷新,若是通过setx /M PATH "%PATH%;C:platform-tools"命令行方式写入,需要留意setx的1024字符截断限制,当PATH路径较长时,setx会截断多余内容,导致原有系统变量丢失,此时用注册表编辑器打开HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerEnvironment,可以看到完整的PATH内容。

win10 adb环境变量配置与Linux虚拟机有什么不同

Windows 10和Windows 11的Path编辑界面已改为列表式,每行一个路径,不需要手动输入分号,常见配置错误是把多个路径用分号连在一起粘贴进一个条目,结果路径无法被系统正确解析,正确做法是点击"新建",逐行添加。

Linux虚拟机(比如VMware里装Ubuntu)的adb环境变量配置思路类似,但命令完全不同,在Ubuntu终端中用临时方式执行:

  • export PATH=$PATH:/opt/platform-tools

需要永久生效时,将这一行写入~/.bashrc文件末尾,然后source ~/.bashrc,另一个容易被忽略的细节是udev规则,Linux下直接运行adb devices通常会提示"no permissions",这不是环境变量问题,而是当前用户没有访问USB设备的权限,创建/etc/udev/rules.d/51-android.rules文件,写入对应厂商ID,再执行sudo udevadm control --reload-rules,设备才能正常被adb识别。

虚拟机安装adb失败怎么办?环境变量配置错误如何解决?

多个adb版本共存时环境变量冲突

很多用户电脑上同时装了Android Studio自带的adb、网页下载的platform-tools、模拟器配套的adb,Path中出现了多个adb路径,此时系统默认调用排在最前面的那个adb版本,未必是你想要的,运行where adb可以查看当前环境下实际生效的adb路径。

如果where adb输出多个位置,说明Path中存在多条adb目录,建议保留一个版本,或者把经常使用的路径移到Path列表顶部,Android Studio自带的adb位于安装目录的Sdkplatform-tools下,和官方platform-tools没有本质区别,直接指定一个使用即可。

环境变量配置完成后验证与自查

配置完成后不要急着连手机,按以下顺序逐项验证,能快速定位问题出在哪个环节:

  1. where adb 确认系统调用的adb路径是否正确
  2. adb version 确认版本号和来源目录对应
  3. adb devices 查看设备ID为unauthorized还是device
  4. adb kill-server && adb start-server 重启adb服务,清除端口占用和异常状态

设备显示unauthorized时,检查手机屏幕上的调试授权弹窗,点击"允许USB调试",很多用户连上设备后一直在命令行等结果,忽略了手机上的确认弹窗,如果反复弹出授权框,先在手机上撤销USB调试授权,再重新插拔数据线。

Windows下碰到adb服务无法启动,先用netstat -ano | findstr 5037查看端口占用情况,5037是adb的默认端口,被占用时kill掉对PID再启动服务即可,这一情况在虚拟机上更常见,因为宿主机和客户机的adb服务同时运行,端口互相干扰,建议在虚拟机里安装adb时,宿主机的adb进程先退出,或者在不同环境使用不同端口,避免5037端口冲突。

虚拟机adb安装与配置失败:高频疑问解答

adb环境变量配置cmd后提示成功,但adb devices不识别手机,是什么原因

虚拟机安装adb失败怎么办?环境变量配置错误如何解决?

环境变量配置成功只说明udev入口有了,adb命令能被系统找到,adb devices不识别设备,核心原因集中在三个方向:USB直通未生效、手机驱动未安装、调试授权未确认,按顺序排查时,优先看虚拟机的可移动设备菜单里是否已经连接了手机硬件,其次看设备管理器有没有黄色感叹号,最后看手机是否处于文件传输模式而不是仅充电模式。

虚拟机里装adb和在物理机上装adb,环境变量配置方式一样吗

Windows虚拟机与Windows物理机的配置方式完全一致,都是修改系统Path变量,Linux虚拟机的配置方式则与Windows不同,需要修改~/.bashrc文件并设置udev规则,真正的差异在于USB设备所有权,物理机的USB设备直接归系统管理,虚拟机则必须先经过Hypervisor层的USB直通,宿主机的设备管理器里已识别到手机,不代表客户机也能看到同一个设备。

误删了系统原有Path变量导致Windows命令全部失效怎么恢复

在环境变量编辑窗口误删Path后,不要直接断电重启,打开注册表编辑器,定位到HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerEnvironment,检查Path键值是否已被被移除,如果注册表里有备份,直接修改回原值;如果注册表中也已经清空,在Path最前面补上以下默认值:

  • C:Windowssystem32
  • C:Windows
  • C:WindowsSystem32Wbem

恢复后再重新添回platform-tools路径,路径不要加引号,不要用分号结尾。

虚拟机里配置adb,本质上没有太多玄机,文件解压完整、USB直通正常、PATH路径正确,这三件事做扎实,adb自然能稳定运行,遇到报错时,先把环境变量相关操作简化:只用绝对路径运行adb测试,即cd /d C:platform-tools后再执行adb commands,如果绝对路径下一切正常,说明问题全部集中在Path配置上;如果绝对路径下依然报错,就要回头检查平台工具包本身和虚拟机的USB映射,按这个顺序排查,不会走弯路。

分享本文
本文为 简米科技官网 原创,已由运维技术专家审核。转载请注明来源:原文链接
售前咨询 服务热线 售后 邮箱