Ionic --live-reload 不是 运行 设备上的应用程序

Ionic --live-reload not running app on device

使用 --live-reload 参数时,我在 phone 上看不到我的离子应用程序。

我正在使用 Windows 8.1 和连接的 Nexus 5 Android 设备。该应用是使用 ionic start demo sidemenu.

创建的示例 sidemenu 应用

当我 运行 ionic run --live-reload 时,我首先看到一个可能的 IP 地址列表:

Multiple addresses available.
Please select which address to use by entering its number from the list below:
Note that the emulator/device must be able to access the given IP address
 1) 192.168.0.109 (Wi-Fi)
 2) 192.168.159.1 (VMware Network Adapter VMnet1)
 3) 192.168.174.1 (VMware Network Adapter VMnet8)
 4) 192.168.56.1 (VirtualBox Host-Only Network)

我选择选项 1 - 这是我的开发 PC 的 IP 地址,它托管离子服务器。


Ionic 确认此选择,并确认它正在为以下端口提供服务:

Selected address: 192.168.0.109
Running live reload server: http://192.168.0.109:35729
Watching : [ 'www/**/*', '!www/lib/**/*' ]
Running dev server: http://192.168.0.109:8100

我通过在我的电脑上打开 Chrome 并导航至 http://192.168.0.109:8100

来确认它正在为该页面提供服务

当应用 运行 在 Android 设备上运行时,它首先显示启动画面,然后显示带有错误的网络视图:

Web page not available
The Web page at http://192.168.0.109:8100/ could not be loaded as:

net::ERR_ADDRESS_UNREACHABLE

这在 Ionic 论坛上也有报道:


据我所知,我已经在 Windows 机器上打开了 TCP 端口 35729 和 8100(使用控制面板 - 防火墙设置)。

我必须配置什么才能在我的设备上看到我的 Ionic 应用程序?

您似乎遇到了 CORS 问题。

安装和配置 cordova-plugin-whitelist 应该可以解决您的问题

以上配置全部正确

端口需要在 Windows 防火墙中打开 - 但缺少的步骤是在更新防火墙设置后需要重新启动。

重新启动后,一切正常。

我来晚了,但我的 config.xml 在我的构建过程中某处生成了以下行:

<content src="http://10.0.0.25:8100" original-src="index.html"/>

我通过将其改回 <content original-src="index.html"/>(没有 src="http://10.0.0.25:8100")来修复它

对大多数人来说可能不是问题,但对我来说是因为我 运行 在我的 phone 上使用了 VPN。

很简单,您可以在 cmd 中使用此命令,效果很好:

ionic serve --address 0.0.0.0

对我有用的方法(没有更改任何项目配置文件或我的防火墙设置):

$ ionic cordova run android -c -l --address=10.0.0.2 (use your local IP address here)

我的设置:

  • 我的Androidphone(运行Android7.1.1)是通过usb线连接的 到我的 Windows 台式电脑。
  • 使用的地址是台式电脑的本地IP地址, 我从 www.whatismybrowser.com
  • 得到的

我用来在我的 Android phone 上使用新的 ionic 3 项目获取 livereload 的所有命令:

$ ionic start testLivereloadProject1 tabs
$ cd testLivereloadProject1
$ ionic cordova platform add android
$ ionic cordova run android -c -l --address=10.0.0.2 

(-c 是控制台,-l 是 livereload)

注意:最初加载到 phone 时非常缓慢(闪屏过去了,然后它一直是白色的一段时间),但是一旦加载,livereload 运行良好。

None 上面的答案对我有用,我检查了我的 phone 连接了哪个网络以及我的笔记本电脑连接了哪个网络。由于它们不同,我让它们连接到同一个网络并解决了这个问题。

使用 ionic info 检查您的 CLI 版本。

Live-reload 如 OP 所述停止为我工作,我必须恢复到 4.12.0 才能启动它并再次 运行。

如果您不想与防火墙纠缠,请使用主机选项:

ionic capacitor run android -l --host=172.20.10.10