Ответ 1
Приведенная выше конфигурация была правильной.
Порты должны быть открыты в брандмауэре Windows - но отсутствующий шаг требовал перезагрузки после обновления настроек брандмауэра.
После перезагрузки все работает правильно.
Я не вижу свое ионное приложение на своем телефоне при использовании параметра --live-reload
.
Я использую Windows 8.1 и подключенное Android-устройство Nexus 5. Приложение представляет собой пример приложения sidemenu, созданного с помощью 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 - это IP-адрес моего ПК разработки, на котором размещается ионный сервер.
Ионный подтверждает этот выбор и подтверждает, что он обслуживает порты, как показано ниже:
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:
Насколько я могу судить, я открыл TCP-порты 35729 и 8100 на моей машине Windows (используя настройки панели управления - настройки брандмауэра).
Что мне настроить, чтобы я мог видеть свое приложение на моем устройстве?
Приведенная выше конфигурация была правильной.
Порты должны быть открыты в брандмауэре Windows - но отсутствующий шаг требовал перезагрузки после обновления настроек брандмауэра.
После перезагрузки все работает правильно.
Похоже, вы столкнулись с проблемой CORS.
Установить и настроить cordova-plugin-whitelist исправить вашу проблему
Вероятно, это не проблема для большинства людей, но для меня это было потому, что я запускал VPN на своем телефоне.
Легко, вы можете использовать эту команду в cmd, и это хорошо работает:
ionic serve --address 0.0.0.0
Я опоздал на это, но мой 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"
)
Что сработало для меня (без каких-либо изменений в конфигурационных файлах проекта или настройках брандмауэра):
$ ionic cordova run android -c -l --address=10.0.0.2 (use your local IP address here)
Моя настройка:
Все команды, которые я использовал, чтобы запустить livereload на моем телефоне Android с новым проектом ionic 3:
$ 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 работала хорошо.
Ни один из приведенных выше ответов не работал для меня, я проверил, к какой сети был подключен мой телефон и к какой сети был подключен мой ноутбук. Поскольку они были разными, я заставил их подключиться к одной сети, и это решило эту проблему.
Проверьте свою версию CLI с ионной информацией.
Live-перезагрузка перестала работать для меня, как описано в OP, мне пришлось вернуться к 4.12.0, чтобы снова запустить его.