studio programacion móviles libros libro desarrollo desarrollar curso aprende aplicaciones android proxy dns android-emulator charles

móviles - manual de programacion android pdf



Configuración de red del emulador de Android (6)

Así que he configurado el proxy de charles para supervisar el tráfico que sale del emulador de Android.

Ahora cuando abro un sitio web en el navegador de Android Por ejemplo: - google.com veo google.com en el proxy charles.

Pero cuando abro una aplicación (por ejemplo, la aplicación de instagram) en el emulador y si la aplicación realiza algunas llamadas de red, veo las direcciones IP en el proxy de Charles y no en los nombres de dominio.

Debido a que la aplicación me da un error de que algo salió mal, etc.

¿Puede alguien decirme cómo cambiar las configuraciones dns del emulador de Android para que envíe nombres de host en lugar de direcciones IP?

O cualquier otra solución a este problema.

Gracias


Dentro de su emulador, vaya a configuración -> redes e internet -> red móvil -> nombres de acceso. y luego elija su red para editarla y coloque la IP y el puerto de la computadora de Charles.

Recuerda abrir el emulador con poxy. here


No es posible con el emulador pero puedes usar GENYMOTION para eso. Genymotion es una muy buena herramienta para usar el emulador en línea.

Puede configurar proxy en configuración-> red.

Intenta eso. Espero que esto te ayude.


No hay forma de cambiar las configuraciones dns del emulador de Android que pueden obtener nombres de host en lugar de direcciones IP, la única opción para usar proxy es explicar here otros hilos SO.

Estoy seguro de que los paquetes provienen de Instagram y / o quizás usan algún servidor de seguridad para fines de seguridad.


Para usuario de Linux

No podemos usar el emulador iniciado desde Android Studio. Tenemos que iniciar el emulador desde la terminal usando estos 2 comandos

Primer paso a las herramientas de SDK de Android

$ cd /home/..../Android/Sdk/tools

Segundo inicia tu emulador usando este cmd

./emulator -avd Emulator_name -http-proxy http: // Ur ip address : port /

Emulator_name : abre la segunda columna de AVD Manager y obtendrás los nombres de Emulator, luego tienes que reemplazar los espacios entre los nombres con un guion bajo

como Nexus 5 API 22 -> Nexus_5_API_22

Ejemplo: $ ./emulator -avd Nexus_5_API_22 -http-proxy http://12.1.0.222:8888/


Puede usar el comando ''ping'' para obtener la dirección IP.


puede configurar un proxy desde la línea de comandos con la opción -http-proxy al iniciar el emulador. En este caso, especifica la información del proxy en uno de estos formatos:

http://<machineName>:<port>

o

http://<username>:<password>@<machineName>:<port>

La opción -http-proxy obliga al emulador a usar el proxy HTTP / HTTPS especificado para todas las conexiones TCP salientes. La redirección para UDP no es compatible actualmente.

Alternativamente, puede definir la variable de entorno http_proxy al valor que desea usar. En este caso, no necesita especificar un valor en el comando -http-proxy - el emulador verifica el valor de la variable de entorno http_proxy al inicio y usa su valor automáticamente, si está definido.

Puede usar la opción -debug-proxy para diagnosticar problemas de conexión de proxy.

Puede obtener más detalles sobre este tema aquí:

https://developer.android.com/studio/run/emulator-networking.html