Android

Solución Android y Java – CLEARTEXT communication not permitted by network security policy

Resumen: en este post te mostraré la solución al error de Android que dice así:

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

Esto es debido a que estamos usando HTTP, y no HTTPS.

Solución a CLEARTEXT communication en Android

Como lo dije, este error de Android en Java ocurre porque estamos haciendo una petición HTTP a un host no seguro, es decir, que no utiliza HTTPS.

Por ello es que dice cleartext o texto claro, es decir, que no está encriptado como las comunicaciones por HTTPS.

En otras palabras, hacemos peticiones a un sitio como:

http://sitio.com/mi_app

En lugar de:

https://sitio.com/mi_app

Ya sea por no tener un certificado SSL o porque está mal la ruta.

Solución 1: usa un dominio HTTPS

La solución más simple y segura (pues así evitas ataques de Man in the middle o cosas de esas) es usar un host que tenga HTTPS (comprando uno, usando Let’s encrypt, etcétera), cambiando la URL y listo.

La desventaja de esto es que es complicado cuando se hacen pruebas locales, por ello veamos la solución 2.

Solución 2: modificar el manifiesto

En tu AndroidManifest.xml, dentro de <application> agrega la siguiente línea:

android:usesCleartextTraffic="true"

De manera que, ahora se vea aproximadamente así:

See the gist on github.

Simplemente presta atención a la línea 6, que indica que usa tráfico en texto plano o claro, sin encriptar.

Conclusión

Yo recomiendo la opción 2 para pruebas locales, pero también recomiendo usar un servidor HTTPS cuando lleves tu app a producción.

 

Encantado de ayudarte


Estoy disponible para trabajar en tu proyecto, modificar el programa del post o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.

No te pierdas ninguno de mis posts

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Ver comentarios

Entradas recientes

JavaScript (lado del cliente): leer pixeles de imagen

En ocasiones es necesario leer los pixeles y colores de una imagen con JavaScript del…

5 días hace

PHP y JavaScript: llenar select con AJAX

Siguiendo con los tutoriales de listas desplegables o select con JavaScript, vamos a ver cómo…

6 días hace

Imprimir PDF generado con HTML

Hoy vamos a ver programar la impresión de un PDF generado a partir de HTML…

7 días hace

JavaScript: llenar select con arreglo

En este tutorial básico de JavaScript con HTML vamos a ver cómo llenar una lista…

2 semanas hace

Imprimir PDF a partir de URL

En este artículo se presenta una guía para imprimir un PDF a partir de una…

2 semanas hace

Imprimir PDF a partir de base64

En este post voy a enseñarte cómo imprimir un PDF a partir de su representación…

2 semanas hace

Esta web usa cookies.