Ionic应用真机调试失败:ERR_CONNECTION_REFUSED报错及闪退求助
解决Ionic真机运行出现ERR_CONNECTION_REFUSED并闪退的问题
我之前也碰到过一模一样的情况,折腾了好一阵才搞定,给你梳理几个最实用的排查方向和解决方案:
1. 先确认设备与电脑在同一局域网
- 务必保证你的安卓设备和开发电脑连的是同一个WiFi网络(别一个连WiFi一个插有线,除非有线网络和WiFi属于同一网段)。
- 电脑上用
ipconfig(Windows)或ifconfig/ip addr(Mac/Linux)查本机局域网IP,然后在设备浏览器里访问http://你的电脑IP:8100,能打开Ionic页面说明网络没问题;打不开的话先解决网络互通问题。
2. 检查8100端口是否被占用
- 你用的命令默认用8100端口,要是这个端口被其他程序占了,肯定连不上。
- 用
lsof -i :8100(Mac/Linux)或netstat -ano | findstr :8100(Windows)查占用进程,杀掉后重新运行命令就行。 - 也可以直接换个端口规避问题,比如:
ionic cordova run android -l -c -s --debug --port 8101
3. 明确指定Ionic允许访问的地址
- 运行命令时加上
--address参数,指定你的电脑局域网IP,让设备能精准找到开发服务器:ionic cordova run android -l -c -s --debug --address 你的电脑IP - 同时检查
ionic.config.json,确保devServer的allowedHosts配置包含你的IP或设为"all":"devServer": { "allowedHosts": "all" }
4. 检查安卓设备的调试权限
- 确认设备已经开启USB调试,并且给你的开发工具(比如Ionic CLI)开了安装未知应用权限。
- 部分设备还要开启USB调试(安全设置),允许通过USB调试修改系统设置,这个选项一般在开发者选项的深层菜单里。
- 试试重新插拔USB线,或者把设备连接模式改成“传输文件”,别用仅充电模式。
5. 适配安卓的网络安全规则
- 安卓9及以上默认禁止明文HTTP请求,如果你用的是HTTP开发服务器,得在
AndroidManifest.xml的<application>标签里加属性:<application ... android:usesCleartextTraffic="true"> - 同时在
config.xml里临时放开网络访问限制(仅开发阶段用,上线要改回具体域名):<access origin="*" /> <allow-navigation href="*" />
6. 清除缓存后重新构建
- 缓存偶尔会搞出奇怪问题,先清掉Ionic和Cordova的缓存:
ionic cordova clean android npm cache clean --force - 然后重新构建运行:
ionic cordova build android --debug ionic cordova run android -l -c -s --debug
要是以上方法都不行,你可以先关掉实时重载(去掉-l参数),运行ionic cordova run android --debug看看应用能不能正常打开,这样能排查是不是实时重载功能导致的问题。
内容的提问来源于stack exchange,提问作者Shaik Nizamuddin
相关产品推荐
相关产品推荐

