SanOli
SanOli

Reputation: 35

Ionic 3 error: resource xml/network_security_config not found

When I try to run ‘ionic cordova build android’ I’m given this exception:

Anroid resource linking failed J:\workspaces\APCO\App\apco\platforms\android\app\build\intermediates\merged_manifests\debug\AndroidManifest.xml:22: AAPT: error: dresource xml/network_security_config (aka io.ionic.starter:xml/network_security_config) not found.

Problem is, I have network_security_config.xml inside ‘…APP-FOLDER\platforms\android\res\xml’ and ‘…APP-FOLDER\resources\android\xml’.

My AndroidManifest.xml:

...
<application
        android:debuggable="true"
        android:hardwareAccelerated="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:networkSecurityConfig="@xml/network_security_config"
        android:supportsRtl="true" >
...

My config.xml:

 <platform name="android">
 <edit-config file="AndroidManifest.xml" mode="merge" target="/manifest/application" xmlns:android="http://schemas.android.com/apk/res/android">
      <application android:networkSecurityConfig="@xml/network_security_config" />
 </edit-config>
 <resource-file src="resources/android/xml/network_security_config.xml" target="res/xml/network_security_config.xml" />

Upvotes: 1

Views: 4590

Answers (1)

Peter Mounir
Peter Mounir

Reputation: 41

in config.xml replace

<edit-config file="AndroidManifest.xml" mode="merge" target="/manifest/application" xmlns:android="http://schemas.android.com/apk/res/android">
        <application android:networkSecurityConfig="@xml/network_security_config" />
    </edit-config>

with

<edit-config file="app/src/main/AndroidManifest.xml" mode="merge" target="/manifest/application" xmlns:android="http://schemas.android.com/apk/res/android">
        <application android:usesCleartextTraffic="true" />
        <application android:networkSecurityConfig="@xml/network_security_config" />
    </edit-config>

and add

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

create new file network_security_config.xml in resources/android/xml/network_security_config.xml :

  <?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<base-config cleartextTrafficPermitted="true">
    <trust-anchors>
        <certificates src="system" />
    </trust-anchors>
</base-config>
    <domain-config cleartextTrafficPermitted="true">
        <domain includeSubdomains="true">localhost</domain>
        <!-- note this is without http -->
    </domain-config>
</network-security-config>

Upvotes: 2

Related Questions