APK hataları

CLEARTEXT communication not permitted

Hata metni

java.net.UnknownServiceException: CLEARTEXT communication to api.example.com not permitted by network security policy

Neden

Android 9 ve üstünde http:// istekleri varsayılan olarak engellenir. Uygulama şifrelenmemiş bir adrese bağlanmaya çalışıyor.

Adım adım çözüm

  1. En iyi çözüm: sunucuyu https:// ile sun ve adresi değiştir.
  2. Yalnız yerel test için network_security_config.xml oluştur ve belirli alan adına (10.0.2.2, localhost) izin ver.
  3. Dosyayı <application android:networkSecurityConfig=...> içinde göster.
  4. Tüm trafik için usesCleartextTraffic="true" yazma, yalnız debug derlemede tut.
  5. Release APK'yı gerçek telefonda dene: orada ağ hatası beyaz ekrana dönüşebilir.

Örnek komutlar

<!-- res/xml/network_security_config.xml -->
<network-security-config>
  <domain-config cleartextTrafficPermitted="true">
    <domain includeSubdomains="true">10.0.2.2</domain>
  </domain-config>
</network-security-config>
<application android:networkSecurityConfig="@xml/network_security_config" ...>

Tekrarlanmasın diye

Release'te yalnız HTTPS kullan, http iznini debug klasöründe tut.

Yazar ve lisans: Nibras Code