Skip to content

Instantly share code, notes, and snippets.

@RaschidJFR
Last active November 4, 2019 22:01
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save RaschidJFR/769d39cdbe8f986d29cd4ad9bc464345 to your computer and use it in GitHub Desktop.
Save RaschidJFR/769d39cdbe8f986d29cd4ad9bc464345 to your computer and use it in GitHub Desktop.
Ionic v4: Configuration for connecting to local server database

Setup for connecting Android Emulatir with live reload to local host PC

How to create a configuration to run with $ ionic cordova emulate android -l -c local and let the emulator connect to host PC, accessing through 10.0.2.2 instead if localhost.

1 angular.json

Create the file environment.local.emulator.ts. Then appli these changes to angular.json.

  1. Add this snippet under project.app.architect.build.configurations:

    "local-emulator": {
      "fileReplacements": [
        {
          "replace": "src/environments/environment.ts",
          "with": "src/environments/environment.local.emulator.ts"
        }
      ]
    },
  2. Add this under project.app.architect.serve.configurations:

    "local-emulator": {
      "browserTarget": "app:build:local-emulator"
    },
  3. Add this under project.app.architect.ionic-cordova-build.configurations:

    "local": {
      "browserTarget": "app:build:local-emulator"
    }
  4. Add this under project.app.architect.ionic-cordova-serve.configurations:

    "local": {
      "cordovaBuildTarget": "app:ionic-cordova-build:local",
      "devServerTarget": "app:serve:local-emulator"
    },

2 config.xml

Enable connections to host PC through 10.0.2.2.

  1. Add this to config.xml:

    <resource-file src="resources/android/xml/network_security_config.xml" target="app/src/main/res/xml/network_security_config.xml" />

2 Add this to resources/android/xml/network_security_config.xml (or create it if it does not exist):

```xml
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <domain-config cleartextTrafficPermitted="true">
        <domain includeSubdomains="true">localhost</domain>
        <domain includeSubdomains="true">10.0.2.2</domain>  <!-- Add this line to enable connecting to host PC -->
    </domain-config>
</network-security-config>

```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment