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

Expo报错:运行adb提示多设备/模拟器的解决问询

解决离线Android模拟器残留与Expo多设备冲突问题

我之前也碰到过macOS上adb残留离线模拟器的情况,挺闹心的,给你两种可行的解决思路:

方法一:彻底清除离线的模拟器设备

如果那个emulator-5562是无效的残留设备,咱们可以从根源清除:

  1. 强制终止所有adb进程
    光用adb kill-server可能不够,得手动杀掉adb相关进程:
    # 查找adb进程PID
    ps aux | grep adb
    # 杀掉找到的PID,替换成你查到的数字
    kill -9 <adb进程PID>
    
  2. 清理adb临时缓存文件
    macOS上adb的临时socket文件存在/tmp目录,删除这些文件能清除设备缓存:
    rm -rf /tmp/adb*
    
  3. 删除对应AVD的配置文件
    打开Android Studio的AVD Manager,看看有没有和emulator-5562对应的模拟器实例,如果有直接点击「Delete」删除。如果AVD Manager里看不到,手动去配置目录删除:
    # 进入AVD配置目录
    cd ~/.android/avd/
    # 找到对应离线设备的文件夹(格式为<模拟器名称>.avd和<模拟器名称>.ini),删除它们
    rm -rf <对应模拟器名称>.avd <对应模拟器名称>.ini
    
  4. 重启adb服务
    adb start-server
    
    这时候再运行adb devices,应该就看不到那个离线的emulator-5562了。

方法二:指定Expo使用特定的运行中模拟器

如果不想折腾删除离线设备,直接让Expo指定用正常运行的模拟器就行:

  1. 先通过adb devices拿到正常模拟器的ID,比如你这里的emulator-5554
  2. 启动Expo时直接指定设备:
    expo start --device emulator-5554
    
  3. 或者启动Expo后(终端显示二维码的状态),按键盘上的a键,终端会列出所有可用设备,你选择对应的emulator-5554即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.08 16:27:32