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

Ionic应用serve正常,cordova运行时无法连接服务器求助

解决Ionic Cordova Livereload连接拒绝(ERR_CONNECTION_REFUSED)的问题

你遇到的情况很常见:ionic serve在浏览器里正常运行,但执行ionic cordova run android --livereload部署到手机时,出现net::ERR_CONNECTION_REFUSED错误。结合你的环境信息和config.xml配置,我整理了几个针对性的解决方案:

1. 确认设备与电脑在同一局域网

Livereload依赖手机和开发电脑的网络互通,这是最基础的前提:

  • 检查你的Windows电脑和测试手机是否连接到同一个WiFi热点
  • 如果使用USB调试,需确保手机能访问到电脑的局域网IP(部分USB模式会限制跨设备网络访问)

2. 显式指定电脑的局域网IP运行Livereload

默认情况下Ionic会自动选择IP,但偶尔会出现识别错误。你可以手动指定电脑的局域网IP来运行命令:

  1. 在Windows命令提示符中输入ipconfig,找到无线网卡对应的IPv4地址(例如192.168.3.10)
  2. 运行带指定IP的livereload命令:
ionic cordova run android --livereload --address=你的局域网IP

示例:

ionic cordova run android --livereload --address=192.168.3.10

3. 调整Cordova WebView与白名单配置

从你的config.xml来看,基础白名单配置已存在,但针对你使用的cordova-plugin-ionic-webview@4.1.1,可以补充几个关键配置:
在config.xml的<widget>标签内添加以下内容:

<!-- 允许加载本地网络资源,解决新版WebView的安全限制 -->
<preference name="AndroidInsecureFileModeEnabled" value="true" />
<!-- 明确指定livereload端口,确保与命令行默认端口一致 -->
<preference name="LiveReloadServerPort" value="8100" />

保存配置后,重新构建项目。

4. 检查Windows防火墙设置

Windows防火墙可能会阻止livereload默认的8100端口通信:

  • 可以先临时关闭Windows防火墙测试,如果问题解决,再添加永久允许规则:
    1. 打开「Windows Defender防火墙」→「高级设置」
    2. 添加入站规则,允许8100端口的TCP连接
    3. 同样添加出站规则,允许8100端口的TCP连接

5. USB调试下的端口转发(可选)

如果使用USB连接手机而非WiFi,可以通过ADB端口转发确保设备能访问电脑的livereload服务器:
在命令提示符中执行:

adb reverse tcp:8100 tcp:8100

执行完成后再运行livereload命令即可。

最后:清理缓存重新构建

若以上方法均无效,尝试清理项目缓存后重新构建:

ionic cordova clean android
ionic cordova build android
ionic cordova run android --livereload --address=你的局域网IP

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 08:43:11