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

Suj*_*U N 9 android adb react-native expo

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

Couldn't start project on Android: could not connect to TCP port 5554: Connection refused
Run Code Online (Sandbox Code Playgroud)

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

$ 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
Run Code Online (Sandbox Code Playgroud)

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

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

Suj*_*U N 11

经过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)
Run Code Online (Sandbox Code Playgroud)

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

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

使用 PID 杀死该进程,
在我的例子中,它是 PID 383 的 wftpserve 服务

$ sudo kill -9 383
Run Code Online (Sandbox Code Playgroud)

然后模拟器就消失了

$ adb devices
List of devices attached
Run Code Online (Sandbox Code Playgroud)

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


小智 6

打开提示命令并输入以下内容

1-第一

$ adb devices
Run Code Online (Sandbox Code Playgroud)

2秒

$ adb kill-server
Run Code Online (Sandbox Code Playgroud)

3-及下一个

$ adb start-server
Run Code Online (Sandbox Code Playgroud)