Categories: Android

Error OKHTTP “Cleartext HTTP traffic to domain.com not permitted” pada Android 9 PIE

Bismillaahirrohmaanirrohiim…

Halo jumpa lagi dengan rasupe, kali ini kita akan membuat sebuah tulisan tentang error log yang ada pada android studio, yaitu “Cleartext HTTP traffic to ip address/domain.com not permitted”.

Hal ini berlaku pada Android 9 atau api level 28 atau biasa disebut dengan Android Pie.

Berikut ada tiga cara untuk menyelesaikannya.

Caranya mudah yang pertama adalah dengan mengganti url nya menggunakan https.

Masalahnya adalah kita bisa jadi tidak memungkinkan untuk mengganti url tersebut menjadi https, bisa jadi karena url nya dikelola orang lain atau URL itu sudah dipakai di beberapa tempat sehingga mengharuskan tetap http, itu adalah masalah.

Cara yang kedua adalah dengan cara menambahkan network security config pada file Android manifest

Yaitu dengan memasukkan ip address atau domain-domain yang ingin kita kecualikan menggunakan http di daftar itu.

Buat xml file di res/xml/network_security_config.xml

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<base-config cleartextTrafficPermitted="true" />
    <domain-config cleartextTrafficPermitted="true">
        <domain includeSubdomains="true">mydomain.com</domain>
        <domain includeSubdomains="true">127.0.0.1</domain>
    </domain-config>
</network-security-config>

Buka AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android...>
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <application
        android:usesCleartextTraffic="true"
        android:icon="@mipmap/ic_launcher"
        android:networkSecurityConfig="@xml/network_security_config"
        ....>
        ....
    </application>
</manifest>
Cara yang ketiga adalah dengan menambahkan parameter android:usesCleartextTraffic=”true” pada tag application.
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android...>
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <application
  ...
        android:usesCleartextTraffic="true"
        android:icon="@mipmap/ic_launcher"
        ....>
        ....
    </application>
</manifest>

 

Ketika cara diatas tidak berhasil berarti Anda harus meningkatkan angka target SDK, targetSdkVersion dan compileSdkVersion nya minimal 27, 28, atau 29 atau yang terbaru pasti lebih bagus, namun semakin tinggi SDKnya maka semakin sedikit HP yang menggunakan OS tersebut, intinya aplikasi akan tidak dapat berjalan pada HP lama yang menggunakan OS dibawahnya.

Demikian tutorial pada kali ini jika ada yang ingin disampaikan silahkan tinggalkan komentar anda di bawah. Semoga Bermanfaat.

Bagikan
rasupe

Recent Posts

Teks panjang jadi titik-titik dengan css

Bismillaahirrohmaanirrohiim... Saat kita membuat kotak dengan lebar dan tinggi tertentu, tentunya teks didalamnya harus kita…

3 weeks ago

Bekerja dengan clearfix di css untuk posisi gambar dan teks dalam kotak

Bismillaahirrohmaanirrohiim... Clearfix pada css biasanya digunakan untuk menangani posisi elemen saat menggunakan float, dimana float…

3 weeks ago

Fix npx atau npm tidak jalan di windows

Bismillaahirrohmaanirrohiim... Setelah menginstall node.js dan ingin menggunakan perintah npx atau npm di power shell atau…

4 weeks ago

CPU usage tinggi pada server

Bismillaahirrohmaanirrohiim... Untuk mendeteksi cpu usage tinggi memang perkara rumit, adakalanya karena codingan bermasalah, akses ke…

3 months ago

Membersihkan log mongodb yang besar

Bismillaahirrohmaanirrohiim... Jika tidak dirawat dan dicek berkala, log mongodb akan semakin membesar. Bahkan sampai menghabiskan…

3 months ago

Cara mengakses gps di HP dengan javascript

Bismillaahirrohmaanirrohiim... Jika kita membuat website yang digunakan untuk memantau lokasi HP client, maka kita memerlukan…

6 months ago