0

NOTE: Detailed explanation can be found on Ionic Forum

When using ionic serve app works fine and is able to communicate over HTTPS with remote and Google Maps API server using appropriate proxy settings. When running on physical device, any request made to external serves results in net::ERR_CONNECTION_REFUSED. Had somewhat success using ionic run android -l --device, but still causes error when establishing socket connection.

Config.xml

<?xml version='1.0' encoding='utf-8'?>
<widget id="com.ionic.app" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
    <name>IonicApp</name>
    <description>An awesome Ionic/Cordova app.</description>
    <author email="hi@ionicframework" 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:*" />
    <platform name="android">
        <allow-intent href="market:*" />
        <icon density="ldpi" src="resources/android/icon/drawable-ldpi-icon.png" />
        <icon density="mdpi" src="resources/android/icon/drawable-mdpi-icon.png" />
        <icon density="hdpi" src="resources/android/icon/drawable-hdpi-icon.png" />
        <icon density="xhdpi" src="resources/android/icon/drawable-xhdpi-icon.png" />
        <icon density="xxhdpi" src="resources/android/icon/drawable-xxhdpi-icon.png" />
        <icon density="xxxhdpi" src="resources/android/icon/drawable-xxxhdpi-icon.png" />
        <splash density="land-ldpi" src="resources/android/splash/drawable-land-ldpi-screen.png" />
        <splash density="land-mdpi" src="resources/android/splash/drawable-land-mdpi-screen.png" />
        <splash density="land-hdpi" src="resources/android/splash/drawable-land-hdpi-screen.png" />
        <splash density="land-xhdpi" src="resources/android/splash/drawable-land-xhdpi-screen.png" />
        <splash density="land-xxhdpi" src="resources/android/splash/drawable-land-xxhdpi-screen.png" />
        <splash density="land-xxxhdpi" src="resources/android/splash/drawable-land-xxxhdpi-screen.png" />
        <splash density="port-ldpi" src="resources/android/splash/drawable-port-ldpi-screen.png" />
        <splash density="port-mdpi" src="resources/android/splash/drawable-port-mdpi-screen.png" />
        <splash density="port-hdpi" src="resources/android/splash/drawable-port-hdpi-screen.png" />
        <splash density="port-xhdpi" src="resources/android/splash/drawable-port-xhdpi-screen.png" />
        <splash density="port-xxhdpi" src="resources/android/splash/drawable-port-xxhdpi-screen.png" />
        <splash density="port-xxxhdpi" src="resources/android/splash/drawable-port-xxxhdpi-screen.png" />
    </platform>
    <platform name="ios">
        <allow-intent href="itms:*" />
        <allow-intent href="itms-apps:*" />
        <icon height="57" src="resources/ios/icon/icon.png" width="57" />
        <icon height="114" src="resources/ios/icon/[email protected]" width="114" />
        <icon height="40" src="resources/ios/icon/icon-40.png" width="40" />
        <icon height="80" src="resources/ios/icon/[email protected]" width="80" />
        <icon height="120" src="resources/ios/icon/[email protected]" width="120" />
        <icon height="50" src="resources/ios/icon/icon-50.png" width="50" />
        <icon height="100" src="resources/ios/icon/[email protected]" width="100" />
        <icon height="60" src="resources/ios/icon/icon-60.png" width="60" />
        <icon height="120" src="resources/ios/icon/[email protected]" width="120" />
        <icon height="180" src="resources/ios/icon/[email protected]" width="180" />
        <icon height="72" src="resources/ios/icon/icon-72.png" width="72" />
        <icon height="144" src="resources/ios/icon/[email protected]" width="144" />
        <icon height="76" src="resources/ios/icon/icon-76.png" width="76" />
        <icon height="152" src="resources/ios/icon/[email protected]" width="152" />
        <icon height="167" src="resources/ios/icon/[email protected]" width="167" />
        <icon height="29" src="resources/ios/icon/icon-small.png" width="29" />
        <icon height="58" src="resources/ios/icon/[email protected]" width="58" />
        <icon height="87" src="resources/ios/icon/[email protected]" width="87" />
        <splash height="1136" src="resources/ios/splash/Default-568h@2x~iphone.png" width="640" />
        <splash height="1334" src="resources/ios/splash/Default-667h.png" width="750" />
        <splash height="2208" src="resources/ios/splash/Default-736h.png" width="1242" />
        <splash height="1242" src="resources/ios/splash/Default-Landscape-736h.png" width="2208" />
        <splash height="1536" src="resources/ios/splash/Default-Landscape@2x~ipad.png" width="2048" />
        <splash height="768" src="resources/ios/splash/Default-Landscape~ipad.png" width="1024" />
        <splash height="2048" src="resources/ios/splash/Default-Portrait@2x~ipad.png" width="1536" />
        <splash height="1024" src="resources/ios/splash/Default-Portrait~ipad.png" width="768" />
        <splash height="960" src="resources/ios/splash/Default@2x~iphone.png" width="640" />
        <splash height="480" src="resources/ios/splash/Default~iphone.png" width="320" />
    </platform>
    <preference name="webviewbounce" value="false" />
    <preference name="UIWebViewBounce" value="false" />
    <preference name="DisallowOverscroll" value="true" />
    <preference name="android-minSdkVersion" value="16" />
    <preference name="BackupWebStorage" value="none" />
    <preference name="SplashMaintainAspectRatio" value="true" />
    <preference name="FadeSplashScreenDuration" value="300" />
    <preference name="SplashScreen" value="screen" />
    <preference name="SplashScreenDelay" value="3000" />
    <feature name="StatusBar">
        <param name="ios-package" onload="true" value="CDVStatusBar" />
    </feature>
    <plugin name="ionic-plugin-keyboard" spec="~2.2.1" />
    <plugin name="cordova-plugin-whitelist" spec="1.3.1"/>
    <plugin name="cordova-plugin-console" spec="1.0.5" />
    <plugin name="cordova-plugin-statusbar" spec="2.2.1" />
    <plugin name="cordova-plugin-device" spec="1.1.4" />
    <plugin name="cordova-plugin-splashscreen" spec="~4.0.1" />
    <plugin name="cordova-plugin-network-information" spec="~1.3.1" />
    <engine name="android" spec="~6.0.0" />
    <engine name="ios" spec="~4.3.1" />
    <icon src="resources/android/icon/drawable-xhdpi-icon.png" />
    <allow-navigation href="http://my-ip-address:8100" />
</widget>

Error Log

main.js:6670 Angular 2 is running in the development mode. Call enableProdMode() to enable the production mode.
cordova.js:1223 deviceready has not fired after 5 seconds.
main.js:48879 Native: deviceready did not fire within 2000ms. This can happen when plugins are in an inconsistent state. Try removing plugins from plugins/ and reinstalling them.
(anonymous) @ main.js:48879
main.js:48874 DEVICE READY FIRED AFTER 7655 ms
polyfills.js:3 POST https://fjekjqekewqjkwqj.tk/accounts/loginFunc net::ERR_CONNECTION_REFUSED
e @ polyfills.js:3
t.scheduleTask @ polyfills.js:3
e.scheduleMacroTask @ polyfills.js:3
(anonymous) @ polyfills.js:3
send @ VM43:3
(anonymous) @ main.js:60534
Observable.subscribe @ main.js:230
Observable._subscribe @ main.js:288
MapOperator.call @ main.js:49710
Observable.subscribe @ main.js:227
Observable._subscribe @ main.js:288
MapOperator.call @ main.js:49710
Observable.subscribe @ main.js:227
LoginPage.onSubmit @ main.js:63521
View_LoginPage0.handleEvent_12 @ component.ngfactory.js:491
(anonymous) @ main.js:116136
schedulerFn @ main.js:19632
SafeSubscriber.__tryOrUnsub @ main.js:5583
SafeSubscriber.next @ main.js:5532
Subscriber._next @ main.js:5485
Subscriber.next @ main.js:5449
Subject.next @ main.js:8674
EventEmitter.emit @ main.js:19612
NgForm.onSubmit @ main.js:23287
Wrapper_NgForm.handleEvent @ wrapper.ngfactory.js:31
View_LoginPage0.handleEvent_12 @ component.ngfactory.js:489
(anonymous) @ main.js:116136
(anonymous) @ main.js:43772
t.invokeTask @ polyfills.js:3
onInvokeTask @ main.js:41817
t.invokeTask @ polyfills.js:3
e.runTask @ polyfills.js:3
invoke @ polyfills.js:3
main.js:63525 Response {_body: ProgressEvent, status: 0, ok: false, statusText: "", headers: Headers…}
3
  • can you provide full error message and config.xml for your application? Commented Jan 4, 2017 at 18:35
  • I've updated the question with the relevant snippets
    – wshaheer
    Commented Jan 5, 2017 at 3:23
  • got any solution ? Commented Feb 8, 2017 at 18:35

1 Answer 1

1

Did you add the whitelist plugin? https://github.com/apache/cordova-plugin-whitelist

5
  • Yes, sorry I should've mentioned that I had setup the project using the v2 option. It included the Whitelist plugin by default
    – wshaheer
    Commented Jan 4, 2017 at 20:05
  • the location (fjekjqekewqjkwqj.tk/accounts/loginFunc) you are posting to is refusing the connection, so it looks like it's a server related problem. Commented Jan 5, 2017 at 20:22
  • I thought so too. But everything works as expected if I use ionic serve
    – wshaheer
    Commented Jan 5, 2017 at 23:43
  • 1
    You should try posting to another URL to be sure it's not a network issue. It could be some sort of firewall/whitelisting/proxy on the server you are posting to, allowing traffic only from certain addresses (since i cannot reach it over the internet and you can using your pc), make sure your phone is connecting from the same network. Connect both devices to the same WIFI network, and disable your phone's 3g/4g etc, if you use a proxy, setup your phone to do the same. Commented Jan 6, 2017 at 8:07
  • I'm facing the same issue. Did you find a solution to this @wshaheer
    – smaira
    Commented Apr 22, 2017 at 12:55

Not the answer you're looking for? Browse other questions tagged or ask your own question.