【发布时间】:2021-02-14 02:47:19
【问题描述】:
我一直在关注本指南https://medium.com/@pellea/using-adb-with-wsl2-7aebbb070a47,到目前为止,WSL2 可以通过 Android Studios -> AVD 管理器看到在 Windows 上运行的模拟器。例如,在 Windows 和 WSL2 上,adb devices 正确显示:
List of devices attached
emulator-5554 device
但是,当我转到我的 expo 应用并尝试启动 Android 模拟器时,我收到以下错误消息:
Couldn't start project on Android: could not connect to TCP port 5554: Connection refused
这是在我尝试了以下之后:
- 在我的 WSL2 个人资料中导出
ADB_SERVER_SOCKET=tcp:<MY IP>:5037 - 通过(来自上述链接)从我的 Windows 防火墙解除阻止 WSL2 vEthernet 连接
Set-NetFirewallProfile -DisabledInterfaceAliases "vEthernet (WSL)"
- 我已将 5554 从 Windows 移植到 WSL2,以及 5037(从 0.0.0.0 到 127.0.0.1):
$WSL_CLIENT = bash.exe -c "ip addr show eth0 | grep -oP '(?<=inet\s)\d+(\.\d+){3}'";
$WSL_CLIENT -match '\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}';
$WSL_CLIENT = $matches[0];
iex "netsh interface portproxy add v4tov4 listenport=5554 listenaddress=127.0.0.1 connectport=5554 connectaddress=$WSL_CLIENT"
端口如下:
netsh interface portproxy show all
Listen on ipv4: Connect to ipv4:
Address Port Address Port
--------------- ---------- --------------- ----------
127.0.0.1 8081 172.25.38.171 8081
0.0.0.0 5037 127.0.0.1 5037
127.0.0.1 5554 172.29.149.0 5554
【问题讨论】:
-
这个问题解决了吗@Richard?除了端口转发,我做的一切都是一样的,这是解决方案吗?
标签: expo adb windows-subsystem-for-linux