Ионическое приложение не попадает на сервер при использовании Cordova - PullRequest
1 голос
/ 29 июня 2019

Мое приложение Ionic отлично работает при работе с ionic serve , но когда я использую команду ionic cordova run android --livereload , оно не срабатывает на сервере и выдает ошибку "Не удалось загрузить ресурс: net :: ERR_CONNECTION_REFUSED" ниже ионная информация

   Ionic CLI                     : 4.12.0
   Ionic Framework               : @ionic/angular 4.4.2
   @angular-devkit/build-angular : 0.13.9
   @angular-devkit/schematics    : 7.3.9
   @angular/cli                  : 7.3.9
   @ionic/angular-toolkit        : 1.5.1

Кордова:

   Cordova CLI       : 9.0.0 (cordova-lib@9.0.1)
   Cordova Platforms : android 8.0.0
   Cordova Plugins   : cordova-plugin-ionic-keyboard 2.1.3, cordova-plugin-ionic-webview 4.1.1, (and 4 other plugins)

Полезность:

   cordova-res : not installed
   native-run  : 0.2.7

Система:

   NodeJS : v10.16.0 (C:\Program Files\nodejs\node.exe)
   npm    : 6.9.2
   OS     : Windows 10

config.xml

<?xml version='1.0' encoding='utf-8'?>
<widget id="io.ionic.starter" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
    <name>MyApp</name>
    <description>An awesome Ionic/Cordova app.</description>
    <author email="hi@ionicframework.com" href="http://ionicframework.com/">Ionic Framework Team</author>
    <content src="index.html" />
    <access origin="*" />
    <allow-intent href="http://*/*" />
    <allow-intent href="https://*/*" />
    <allow-intent href="tel:*" />
    <allow-intent href="sms:*" />
    <allow-intent href="mailto:*" />
    <allow-intent href="geo:*" />
    <preference name="ScrollEnabled" value="false" />
    <preference name="android-minSdkVersion" value="19" />
    <preference name="BackupWebStorage" value="none" />
    <preference name="SplashMaintainAspectRatio" value="true" />
    <preference name="FadeSplashScreenDuration" value="300" />
    <preference name="SplashShowOnlyFirstTime" value="false" />
    <preference name="SplashScreen" value="screen" />
    <preference name="SplashScreenDelay" value="3000" />
    <plugin name="cordova-plugin-whitelist" spec="1.3.3" /><br>
    <plugin name="cordova-plugin-statusbar" spec="2.4.2" />
    <plugin name="cordova-plugin-device" spec="2.0.2" />
    <plugin name="cordova-plugin-splashscreen" spec="5.0.2" />
    <plugin name="cordova-plugin-ionic-webview" spec="^4.0.0" /> //latest version
    <plugin name="cordova-plugin-ionic-keyboard" spec="^2.0.5" />
</widget>

ниже - снимок, который я получаю при развертывании на мобильном устройстве. enter image description here

И это ошибка, которую я получаю enter image description here

Ответы [ 3 ]

2 голосов
/ 03 июля 2019

Один из вариантов в этом сценарии - не передавать -l / -livereload, которая предназначена для функциональности livereload.Так что просто запустите:

ionic cordova run android

После этого будет скомпилирован apk и развернут его на вашем телефоне, но не будет запускаться веб-сервер для отслеживания изменений.

Вы все еще можете отлаживать с помощьюChrome в этом сценарии, но если вы внесете изменения в разметку и нажмете «Сохранить», приложение не будет автоматически перезагружаться с этим изменением.Вам нужно будет снова запустить ionic cordova run android, чтобы перестроить и развернуть его на своем телефоне.

С положительной стороны 1: после первого развертывания последующие сборки намного быстрее, так как запускается сервер gradle.

С положительной стороны 2: если вы отключите USB, вы все равно сможете использовать свое приложение.В случае приложения, развернутого в режиме livereload, оно разрывается при отключении.

Мне бы очень хотелось решить и вашу проблему.Когда я перемещаюсь по коворкингу, иногда кажется, что сеть каким-то образом заблокирована и просто блокирует определенные порты.Я не понял точно, почему или если есть обходной путь для этого.

0 голосов
/ 08 июля 2019

Вам нужно что-то для прокси локального хоста: 8080 запросов от устройства Android обратно к вашему устройству разработки, где работает сервер livereload.

Это можно сделать с помощью переадресации портов через браузер Chrome, открыв chrome://inspect/#devices на вашем устройстве dev, либо настройте переадресацию портов непосредственно в свойствах соединения телефона.Я использую это для наблюдения за трафиком через Fiddler на устройствах Windows dev.

Кроме того, сервер ионной прямой загрузки может быть настроен для маршрутизации неионного трафика путем настройки прокси служб .

0 голосов
/ 04 июля 2019

Временное исправление - установить base href = "." в index.html. Но ваши иконки не будут загружены.

Постоянное исправление:

ionic cordova platform remove android
ionic cordova platform add android@7.1.0
ionic cordova plugin remove cordova-plugin-ionic-webview
ionic cordova plugin add cordova-plugin-ionic-webview@latest
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...