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.
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.
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.
En tu AndroidManifest.xml, dentro de <application>
agrega la siguiente línea:
android:usesCleartextTraffic="true"
De manera que, ahora se vea aproximadamente así:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="paquete">
<uses-permission android:name="android.permission.INTERNET" />
<application
android:usesCleartextTraffic="true"
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/AppTheme">
</application>
</manifest>
Simplemente presta atención a la línea 6, que indica que usa tráfico en texto plano o claro, sin encriptar.
Yo recomiendo la opción 2 para pruebas locales, pero también recomiendo usar un servidor HTTPS cuando lleves tu app a producción.
El día de hoy te mostraré cómo crear un servidor HTTP (servidor web) en Android…
En este post te voy a enseñar a designar una carpeta para imprimir todos los…
En este artículo te voy a enseñar la guía para imprimir en una impresora térmica…
Hoy te voy a mostrar un ejemplo de programación para agregar un módulo de tasa…
Los usuarios del plugin para impresoras térmicas pueden contratar licencias, y en ocasiones me han…
Hoy voy a enseñarte cómo imprimir el € en una impresora térmica. Vamos a ver…
Esta web usa cookies.
Ver comentarios
Exlente.. hacia falta tu explicación.
Buena explicación!!!