深入解析:【2025最新】RN 项目踩坑:设备连不上测试地址?从根源排查的 6 个关键步骤
RN 项目踩坑:设备连不上测试地址?从根源排查的 6 个关键步骤
做 React Native 创建时,最让人头大的莫过于 “设备明明连了网,却死活访问不了本地测试地址”—— 真机白屏、模拟器报错 “Network Error”,排查起来像拆盲盒?别慌,这篇笔记整理了从基础到进阶的全套解决方案,亲测能解决 90% 以上的连接难题!
文章目录
一、先查 “最基础”:网络环境是否同频
设备连不上测试地址,90% 的初始问题出在网络!记住核心原则:开发机与测试设备必须在同一局域网。
检查开发机(电脑)的 IP:Windows 用
ipconfig,Mac/Linux 用ifconfig或ip addr,记下 IPv4 地址(比如 192.168.1.100)。核对测试设备网络:真机在 “设置 - 无线局域网” 看连接的 WiFi,模拟器默认共享电脑网络(但需确认未走代理)。
快速验证:设备上打开浏览器,直接输入
http://开发机IP:端口号(比如 192.168.1.100:8081),能打开 RN 打包页面就是网络通的,打不开直接排查路由 / WiFi。
二、再看 “配置项”:RN 服务是否正确暴露 ️
RN 的服务配置没放开。就是网络通了还连不上?大概率
端口是否被占用:
默认 8081 端口容易冲突,用
netstat -ano | findstr 8081(Windows)或lsof -i:8081(Mac)查占用进程,kill 后重启npm start。是否限制了访问来源:
启动 RN 服务时加参数
--host ``0.0.0.0,允许局域网所有设备访问(命令:npx react-native start --host ``0.0.0.0),这步是真机连接的关键!package.json 调整检查:
确认
scripts里的start命令是否带了正确参数,比如:"start": "react-native start --host ``0.0.0.0``"
三、真机专属坑:权限与调试设置
真机比模拟器多两个 “隐形门槛”,漏了必踩坑:
开启 “USB 调试 / 开发者模式”:
Android 在 “关于手机” 点 7 次版本号激活开发者模式,打开 “USB 调试” 和 “无线调试”;iOS 在 “设置 - 隐私与安全性 - 开发者模式” 打开并信任电脑。
iOS 的 “ATS 配置”:
iOS 默认禁止 HTTP 请求,需在
Info.plist里添加 ATS 例外:右键
Info.plist用 “Open As - Source Code”,插入:
NSAppTransportSecurity
NSAllowsArbitraryLoads
四、模拟器的 “小脾气”:代理与缓存 ️
模拟器看似简单,实则容易栽在代理和缓存上:
关闭系统代理:电脑若开了 VPN 或代理软件(如 Charles、Clash),模拟器会继承代理导致网络走偏,先全部关闭再试。
重置模拟器网络:
Android 模拟器:长按电源键选择 “重启”,或在 “设置 - 系统 - 重置” 清除网络设置;
iOS 模拟器:顶部菜单 “Hardware - Erase All Content and Settings”(注意备份数据)。
五、进阶排查:防火墙与路由拦截
假如以上都试了还不行,就要看 “外部拦截” 了:
关闭开发机防火墙:Windows 关闭 “Windows Defender 防火墙”,Mac 在 “平台设置 - 网络 - 防火墙” 关闭,测试后再按需开启。
检查路由器限制:部分公司 / 校园网路由器会屏蔽内网端口,换个家用 WiFi 或手机热点试试,能连就是路由的问题。
六、终极方案:直接 “硬连” IP
要是前面的方法都无效,用 “指定 IP 连接” 强制突破:
启动 RN 服务后,在设备上打开 APP,摇一摇调出调试菜单(iOS 用 Cmd+D,Android 用 Cmd+M)。
选择 “Change Bundle Location”(或 “设置 - 更改 JS 打包地址”)。
输入
http://开发机IP:端口号(比如 192.168.1.100:8081),点确定后重启 APP。
总结:排查流程 “三步走” ✅
先测网络(浏览器访问 IP: 端口);
再查服务(–host 0.0.0.0 + 端口占用);
最后清部署(真机权限 / 模拟器缓存)。
按这个顺序来,基本能敏捷定位问题!如果还解决不了,评论区留具体报错信息,一起扒根源~
浙公网安备 33010602011771号