Android Logcat 报错 La comunicación CLEARTEXT a 192.168.1.2 no está permitida por la política de seguridad de la red

Los proyectos anteriores se depuraron en el emulador. En estos días, usé la máquina real para depurar. Debido a que la versión de Android del emulador era muy baja, todos los errores fueron inútiles. La versión de Android de mi teléfono era Android10, así que cometí un error Llamar a okhttp es inútil para devolver datos y no hay nada en mi interfaz. Luego, verifique la información de Logcat Información de
Logcat:
Inserte la descripción de la imagen aquí
Razón: Android P restringe las solicitudes de red para el tráfico de texto sin formato, y el sistema prohibirá las solicitudes de tráfico no cifradas.
Si la solicitud de la aplicación actual es una solicitud htttp en lugar de https, esto hará que el sistema prohíba que la aplicación actual realice la solicitud. Si la URL de WebView usa el protocolo http, también se producirá la falla de carga y https no se verá afectado.

Por esta razón, OkHttp3 ha realizado una verificación, por lo que si se usa tráfico de texto sin formato, de forma predeterminada, la versión OkHttp3 de Android P arrojará una excepción: la comunicación CLEARTEXT a "+ host +" no está permitida por la política de seguridad de la red.

if (!Platform.get().isCleartextTrafficPermitted(host)) {
    
    
      throw new RouteException(new UnknownServiceException(
          "CLEARTEXT communication to " + host + " not permitted by network security policy"));
 }

Solución: cree un nuevo archivo network_security_config.xml
en la nueva carpeta res xml

<?xml version ="1.0" encoding ="utf-8"?>
<network-security-config>
    <base-config cleartextTrafficPermitted="true" />
</network-security-config>

Configure android: networkSecurityConfig = "@ xml / network_security_config" en la carpeta AndroidMainfest.xml

 <application
        android:name=".common.MyApplication"
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/MainTheme" android:networkSecurityConfig="@xml/network_security_config">

problema resuelto

Supongo que te gusta

Origin blog.csdn.net/rj2017211811/article/details/107266598
Recomendado
Clasificación