You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Expo启动Android模拟器时无法加载exp://...:19000的技术问题求助

解决Expo启动Android模拟器无法加载exp://链接的问题

针对你遇到的expo start能正常编译,但按a键启动Android模拟器后无法加载exp://...:19000的问题,结合你的环境版本(Expo 33.0.0、Expo CLI 3.4.1、React 16.8.6、React Native 0.59.8),我整理了几个针对性的排查和解决方法:

1. 强制指定本地IP启动Expo服务

有时候模拟器无法正确解析自动分配的IP,你可以手动指定可访问的IP启动服务:

  • 运行命令:expo start --localhost,强制使用127.0.0.1作为服务地址,模拟器对环回IP的兼容性更好
  • 或者使用你的机器局域网IP(比如192.168.x.x):expo start --host 192.168.x.x,手动固定服务地址避免解析异常

2. 验证模拟器网络连通性

  • 打开模拟器自带的浏览器,尝试访问http://127.0.0.1:19000http://你的机器IP:19000
    • 如果能打开Expo的调试页面,说明网络连通正常,问题出在App的链接解析;
    • 如果打不开,说明模拟器网络配置有问题,可以尝试重启模拟器,或进入模拟器设置重置网络配置

3. 检查并修正Expo配置文件

你提到了.expo文件夹下的settings.jsonpackager-info.json,可以手动确认配置:

  • 打开packager-info.json,确保devToolsServerUrlpackagerServerUrl的地址是127.0.0.1或模拟器能访问的局域网IP,而非自动生成的异常地址
  • 若修改配置,保存后重启Expo服务生效

4. 彻底清除缓存

  • 清除Expo项目缓存:运行expo r -cexpo start --clear的简写),彻底清理编译缓存后重新启动服务
  • 清除模拟器中Expo客户端的缓存:进入模拟器设置 -> 应用 -> 找到Expo Go -> 存储 -> 清除缓存和数据,再重新尝试启动应用

5. 排查防火墙/杀毒软件拦截

本地防火墙或杀毒软件可能会阻止Expo服务端口(19000、19001等)被模拟器访问,可以暂时关闭这类软件,再尝试启动应用,确认是否是拦截导致的问题

如果以上方法都未解决,你可以补充以下信息方便进一步排查:

  • 模拟器中显示的具体错误提示截图
  • .expo文件夹内settings.jsonpackager-info.json的完整内容(注意隐藏敏感信息)
  • expo start启动后终端输出的日志信息,尤其是服务地址相关内容

内容的提问来源于stack exchange,提问作者Arnit Gashi

火山引擎 最新活动