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
使用 --live-reload
参数时,我在 phone 上看不到我的离子应用程序。
我正在使用 Windows 8.1 和连接的 Nexus 5 Android 设备。该应用是使用 ionic start demo 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