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

Expo React Native应用运行报错:同网络设备无法连接且无隧道选项求解决

解决Expo React Native网络连接超时(socketException)问题

针对你遇到的java.net.socketException: failed to connect to /1XX.XXX.X.11 (port 8081) from /1XX.XXX.X.81 (port 58572) after 10000 ms错误,以下是针对性的排查和解决步骤:

1. 排查防火墙/安全软件拦截

  • 临时关闭电脑防火墙(Windows Defender、第三方杀毒软件等),重试连接。若成功,说明防火墙阻止了8081端口的入站请求,需手动添加规则:允许node.exe或Expo进程通过8081端口接收连接,或直接开放8081端口的TCP入站权限。

2. 确认Expo服务的IP与端口状态

  • 启动项目时,核对终端输出的局域网IP,确保手机访问的是该IP(而非127.0.0.1)。若终端IP与错误日志中的1XX.XXX.X.11不一致,手动指定IP启动:
    expo start --host 0.0.0.0
    
    或直接指定电脑局域网IP:
    expo start --host 1XX.XXX.X.11
    
  • 检查8081端口是否被占用:
    Windows:
    netstat -ano | findstr :8081
    
    macOS/Linux:
    lsof -i :8081
    
    若端口被占用,杀掉对应进程后重启,或换端口启动:
    expo start --port 8082
    

3. 调整Expo网络启动模式

  • 强制使用LAN模式启动(因无tunneling选项):
    expo start --lan
    
  • 检查app.json/app.config.js的Expo配置,确保无网络访问限制:
    {
      "expo": {
        "name": "YourApp",
        "slug": "your-app",
        "android": {
          "package": "com.yourapp"
        },
        "ios": {
          "bundleIdentifier": "com.yourapp"
        }
      }
    }
    

4. 环境兼容性调整

  • Java 20与部分React Native/Expo工具存在兼容性问题,降级至Java 11或17(官方推荐LTS版本)后重试。
  • 清除Expo与npm缓存:
    expo r -c
    npm cache clean --force
    

5. 手机端额外检查

  • 关闭手机的VPN、代理工具,避免干扰局域网连接。
  • 在手机浏览器中手动访问http://1XX.XXX.X.11:8081,若无法打开则确认网络层面不通;若能打开,重新扫描Expo二维码尝试连接。

内容的提问来源于stack exchange,提问作者Kathiresan. N

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 14:32:11