Breaking News

Membuat Network Security Config untuk koneksi ke HTTPS

Starting with Android 9 (API level 28), cleartext support is disabled by default.

Opsi 1 -
membuat file " res/xml/network_security_config.xml " -
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <domain-config cleartextTrafficPermitted="true">
        <domain includeSubdomains="true">Your URL(ex: 127.0.0.1)</domain>
    </domain-config>
</network-security-config>
AndroidManifest.xml -
<?xml version="1.0" encoding="utf-8"?>
<manifest ...>
    <uses-permission android:name="android.permission.INTERNET" />
    <application
        ...
        android:networkSecurityConfig="@xml/network_security_config"
        ...>
        ...
    </application>
</manifest>

Opsi 2 -
AndroidManifest.xml -
<?xml version="1.0" encoding="utf-8"?>
<manifest ...>
    <uses-permission android:name="android.permission.INTERNET" />
    <application
        ...
        android:usesCleartextTraffic="true"
        ...>
        ...
    </application>
</manifest>

Menurut @david.s' answer bagian android:targetSandboxVersion juga bisa menjadi masalah yang sama -
Sesuai dengan Manifest Docs -
android:targetSandboxVersion
Untuk menggunakan target sandbox. Semakin tinggi nomor versi sandbox, semakin tinggi tingkat keamanannya. Nilai standarnya adalah 1; Anda juga dapat mengaturnya ke 2. Mengatur atribut ini ke 2 mengalihkan aplikasi ke sandbox SELinux yang berbeda. Pembatasan berikut berlaku untuk sandbox level 2:
  • Nilai default dari usesCleartextTraffic 
    di Network Security Config adalah
     false.
  • Uid sharing is not permitted/ tidak diizinkan.

Opsi 3 -
Jika anda menggunakan android:targetSandboxVersion di <manifest> lalu kurangi menjadi 1
AndroidManifest.xml -
<?xml version="1.0" encoding="utf-8"?>
<manifest android:targetSandboxVersion="1">
    <uses-permission android:name="android.permission.INTERNET" />
    ...
</manifest>



Source:
https://stackoverflow.com/questions/45940861/android-8-cleartext-http-traffic-not-permitted


No comments