Expo 无法在 Android 上启动项目:无法连接到 TCP 端口 5554:连接被拒绝

Expo Couldn't start project on Android: could not connect to TCP port 5554: Connection refused

我正在使用 mac 和 Expo 4.4.4。
当我尝试 运行 在 Android 模拟器上进行 Expo 时出现以下错误:

Couldn't start project on Android: could not connect to TCP port 5554: Connection refused

我在终端中尝试了以下命令来摆脱离线设备

$ adb devices
List of devices attached
emulator-5554   offline
emulator-5556   device

$ adb kill-server
$ adb start-server
* daemon not running; starting now at tcp:5037
* daemon started successfully
$ adb devices
List of devices attached
emulator-5554   offline
emulator-5556   device

$ lsof -i :5555
COMMAND   PID    USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
adb     13691 sujayun    9u  IPv4 0xd716e907b32c7e05      0t0  TCP localhost:54347->localhost:personal-agent (ESTABLISHED)
$ kill -9 13691

$ adb devices
List of devices attached
emulator-5554   offline
emulator-5556   device

无论我怎么尝试,我都无法摆脱离线设备。

有什么办法可以去掉这个吗?或者在 TCP 5556 上开始展览?

折腾了3天发现问题并解决了

我检查了侦听不同端口的所有进程

$ sudo lsof -i -P | grep LISTEN
launchd      1           root   11u  IPv6 0x19938282208649b9      0t0    TCP *:5900 (LISTEN)
kdc        196           root    5u  IPv6 0x1993828220866e79      0t0    TCP *:88 (LISTEN)
wftpserve  383           root    7u  IPv6 0x1993828220864399      0t0    TCP *:5555 (LISTEN)
wftpserve  383           root    8u  IPv4 0x199382822086dee9      0t0    TCP *:5555 (LISTEN)
mDNSRespo  285 _mdnsresponder   82u  IPv4 0x19938282276928c9      0t0    TCP *:53 (LISTEN)
MEGAclien  546          root    32u  IPv4 0x1993828225a7e8c9      0t0    TCP localhost:6341 (LISTEN)
adb       1064          root    12u  IPv4 0x19938282279288c9      0t0    TCP localhost:5037 (LISTEN)

检查其 TCP 正在侦听 5554 + 1 = 5555 的服务

此服务可能导致离线模拟器自动启动

用 PID 终止那个进程,
在我的例子中,它是 PID 为 383

的 wftpserve 服务
$ sudo kill -9 383

然后模拟器就消失了

$ adb devices
List of devices attached

然后 Expo 在我的 Android 模拟器上启动