真实设备无法加载Expo开发应用:项目加载失败及RevenueCat内购测试受阻
解决Expo Dev Client真实设备无法连接开发服务器的问题
你现在的情况我太熟悉了——模拟器能正常连,但真实设备死活连不上Expo开发服务器,偏偏测RevenueCat内购又必须用真机。我之前踩过类似的坑,给你几个亲测有效的排查方向:
1. 先把网络环境捋顺
- 确保你的真实设备和电脑完全在同一个网络环境:别一个连2.4G Wi-Fi,另一个连5G,很多路由器的双频隔离会直接阻断设备间的通信;如果用的是笔记本,别同时连Wi-Fi和有线网络,Expo可能会识别错IP。
- 暂时关掉电脑上的防火墙、杀毒软件这类工具,它们经常会偷偷拦截8081端口的连接请求。
- 先测通网络链路:在电脑终端跑
ping 192.168.1.133(你的设备IP),在设备上可以用Termux这类工具跑ping 192.168.1.187(你的电脑IP),确保双向都能ping通,这是连接的基础。
2. 调整Expo启动命令的参数
- 启动时手动指定电脑的局域网IP,避免Expo自动识别出错:
expo start --dev-client --host 192.168.1.187 - 如果局域网实在有问题,试试隧道模式(虽然速度慢,但能绕过局域网限制):
expo start --dev-client --tunnel
3. 检查开发构建包的配置与缓存
- 打开你的
eas.json,确认development profile的配置是正确的,必须开启developmentClient:{ "build": { "development": { "developmentClient": true, "distribution": "internal", "android": { "gradleCommand": ":app:assembleDebug" } } } } - 清理缓存重新构建一次,有时候旧缓存会导致配置不生效:
eas build --profile development --platform android --clear-cache
4. 设备端的细节检查
- 在真实设备上打开开发应用,摇一摇调出菜单,进入服务器设置,确认手动添加的地址是
http://192.168.1.187:8081——千万别忘了加端口号8081,很多人在这里踩坑。 - 重启设备上的开发应用和电脑上的Expo服务器,有时候进程卡住会导致连接失败,重启往往能解决。
另外,等你成功连上服务器后,记得提前把测试设备添加到Google Play的内购测试列表,并用测试账号登录Google Play,这样才能正常测试RevenueCat的订阅功能哦。
内容的提问来源于stack exchange,提问作者Alex Shd
相关产品推荐
相关产品推荐

