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

Win11的WSL2中运行的Expo项目如何连接Android设备?

解决WSL2中Expo与Android设备连接超时问题

方法1:让Expo绑定Windows主机IP

直接指定Expo启动时使用Windows的局域网IP(你的192.168.1.111),这样Android设备就能直接访问这个IP:

  • 启动Expo时手动指定参数:
    bunx expo start --host 192.168.1.111 --port 8081
    
  • 或者修改项目的app.json配置,一劳永逸:
    {
      "expo": {
        "host": "192.168.1.111",
        "port": 8081
      }
    }
    
    之后直接运行bunx expo start即可。

方法2:配置Windows端口转发

通过端口转发把WSL的8081端口映射到Windows主机,让Android设备能间接访问WSL服务:

  1. 以管理员身份打开命令提示符,执行以下命令(替换172.27.73.14为你的WSL实际IP):
    netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=8081 connectaddress=172.27.73.14 connectport=8081
    
  2. 给Windows防火墙添加入站规则,允许8081端口的连接:
    • 打开Windows Defender防火墙→高级设置→入站规则→新建规则
    • 选择「端口」→输入8081→允许连接→勾选所有网络类型→命名规则(比如“Expo端口放行”)
  3. 启动Expo后,扫描二维码,手动把地址里的WSL IP替换成192.168.1.111再连接。

方法3:把WSL2切换到网桥模式

如果经常需要局域网设备访问WSL,可切换到网桥模式,让WSL获取和Windows同网段的IP:

  1. 先关闭所有WSL实例:
    wsl --shutdown
    
  2. 在用户目录下新建或编辑.wslconfig文件(路径:%UserProfile%\.wslconfig),添加内容:
    [wsl2]
    networkingMode=bridged
    vmSwitch=WSL外部交换机
    
    注意:需要先在Hyper-V管理器里新建一个外部虚拟交换机,绑定你的物理网卡,名称和上面的vmSwitch保持一致。
  3. 重启WSL,此时WSL会拿到和Windows、Android同网段的IP,直接运行bunx expo start,扫描二维码就能正常连接。

必做检查

  • 确认Android设备和Windows主机连的是同一个WiFi网络
  • 暂时关闭Windows和Android上的防火墙/安全软件,避免拦截连接
  • 在Android浏览器里访问http://192.168.1.111:8081,如果能加载Expo页面,说明网络通路正常

内容的提问来源于stack exchange,提问作者Ivan Gregor Tabalno

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 23:35:01