studio programacion para móviles libro edición desarrollo desarrollar curso aprende aplicaciones android connectivity

programacion - Android simula baja conectividad de red



manual de programacion android pdf (21)

  1. Abra la terminal en Android Studio y vaya a ../../Android/sdk/tools. el ejecutable ''emulator'' debería estar disponible aquí.

  2. Ejecute ./emulator -netdelay "delay_in_millis" -avd "emulator_device_name"

    Ej: ./emulator -netdelay 60000 -avd Nexus_5_API_21

  3. Ahora crea tu aplicación e instálala en el emulador.

  4. Ejecuta tu escenario en la aplicación.

Asegúrese de tener los cambios de código en la aplicación que establece el tiempo de espera a su solicitud y maneja eso.

Me gustaría probar mi aplicación para casos de baja conectividad de red. Excepto parado en el ascensor, ¿cuál es la mejor manera de hacer esto? Intenté envolver mi teléfono con papel de aluminio, pero no sirvió de mucho.
Necesito probarlo en un dispositivo real, no en un emulador.


¿Desea probar que no hay conexión de red, o solo una conexión de red lenta? Si el primero, puede ir a Settings > Wireless & networks > Airplane mode y activar el modo avión. Eso le permitirá probar la falta de disponibilidad de la red en un dispositivo real.


¿Has probado esto? Configuración - Redes - Más - Redes móviles - Modo de red - Seleccione la red preferida (2G, por ejemplo).

Otro método que utilicé fue mencionado anteriormente. Conéctese a través de la zona activa de iPhone Espero que esto ayude.


Años de edad, pero oye, voy a sonar con mi método infalible con Genymotion.

  • Descargue la versión de prueba gratuita de Charles: http://www.charlesproxy.com/download/

  • Instalarlo

  • Haga clic en Proxy -> Throttle Settings

  • Configure sus velocidades estranguladas HTTP

  • Cierra esa ventana

  • Haga clic en Proxy -> Throttling para habilitar el acelerador

  • Abre un emulador Genymotion

  • Abra la configuración wifi

  • Mantenga presionada la conexión wifi habilitada

  • Haga clic en Modify Network

  • Haga clic en Show Advanced Options

  • Establecer Proxy en Manual

  • Establezca el Proxy hostname de Proxy hostname en 10.0.3.2

  • Establezca el Port en 8888

  • Haga clic en Save

¡Y ahora su red será acelerada!


ACTUALIZACIÓN en el estudio AVD de Android:

  1. abrir el administrador de AVD
  2. crear / editar AVD
  3. haga clic en configuración avanzada
  4. seleccione su configuración de conectividad preferida

Sin microondas o elevadores :)


Dado que la opción de desarrollador de iPhones se aplica a tethering wifi, puede obtener un iPhone que tiene iOS 6 y superior (y se ha configurado para use for developments con xcode ), configurarlo para emular el perfil de red deseado, conectar su dispositivo Android a su hotspot


Descubrí que netlimiter4 es la mejor solución para limitar los datos a los emuladores. Proporciona control granular a través de un gui decente y le da retroalimentación gráfica sobre el rendimiento de datos para cada proceso. Actualmente en una versión beta gratuita. screenshot

http://www.netlimiter.com/products/nl4

Hay aplicaciones disponibles en la Play Store para acelerar a los dispositivos reales, pero requieren root (no puedo dar ningún consejo sobre qué tan bien funcionan, si es que en absoluto, YMMV).

buscar bradybound en Play Store, no puedo publicar más de un enlace ...


Esto puede sonar un poco loco, pero un horno de microondas sirve como protector de microondas. Por lo tanto, colocar el dispositivo dentro de un horno de microondas (¡NO encienda el horno de microondas mientras su dispositivo está adentro!) Hará que la intensidad de la señal disminuya significativamente. Definitivamente es mejor parado dentro de un ascensor ...


Estuve luchando con este problema durante medio día, finalmente llegué a esta solución:

  • Las pruebas en un dispositivo real no tienen mucho sentido en general, ya que tiene que pasar por mucho para que funcione. La única forma lógica de lograr pruebas reales es hacer que su teléfono se conecte a una red celular de baja calidad, como EDGE, si su compañía telefónica lo proporciona. Puede intentar hacer esto marcando *#*#4636#*#* en la aplicación del teléfono

  • El emulador original de Android es demasiado lento para probarlo y no logra más que la solución anterior.

La mejor forma de hacerlo es usando Genymotion . Es un emulador de Android con un rendimiento mucho mejor que los AVD originales y la versión para uso personal es gratuita.

Después de que haya creado su dispositivo virtual en Genymotion, simplemente siga este tutorial para configurar un proxy para el dispositivo.

Ejecute un servidor proxy en su equipo host que simule malas condiciones de red, como Crapify o Toxiproxy (solo probé el primero) y listo.

Actualizar:

Me di cuenta de que también puedes elegir la misma estrategia con dispositivos reales. Me siento como un idiota por no darme cuenta antes. Simplemente inicie un proxy de Crapify en su computadora, configure el proxy de su teléfono en la dirección local de su computadora y, si tiene problemas con Internet en su teléfono.


Facebook creó algo llamado Control de tráfico aumentado . Un breve resumen de su página de GitHub:

Augmented Traffic Control (ATC) es una herramienta para simular las condiciones de la red. Permite controlar la conexión que tiene un dispositivo con internet. Los desarrolladores pueden usar ATC para probar su aplicación en diferentes condiciones de red, emulando fácilmente redes de alta velocidad, móviles e incluso discapacidades graves. Los aspectos de la conexión que se pueden controlar incluyen:

  • ancho de banda
  • estado latente
  • paquete perdido
  • paquetes corruptos
  • pedidos de paquetes

Para poder configurar el tráfico de la red, ATC debe estar ejecutándose en un dispositivo que enruta el tráfico y ve la dirección IP real del dispositivo, como su puerta de enlace de red, por ejemplo. Esto también permite que cualquier dispositivo que se enrute a través de ATC pueda dar forma a su tráfico. El tráfico se puede configurar / desformar utilizando una interfaz web que permite que cualquier dispositivo con un navegador web utilice ATC sin la necesidad de una aplicación cliente.

Puede encontrarlo aquí en GitHub: https://github.com/facebook/augmented-traffic-control

También han escrito una publicación en el blog sobre ello: https://code.facebook.com/posts/1561127100804165/augmented-traffic-control-a-tool-to-simulate-network-conditions/


Hay una manera simple de probar velocidades bajas en un dispositivo real que parece haber sido pasado por alto. Requiere una Mac y una conexión de red ethernet (u otra conexión cableada).

Active el uso compartido de Wifi en la Mac, convirtiendo su computadora en un punto de acceso Wifi, conecte su dispositivo a esto. Use Netlimiter / Charles Proxy o Network Link Conditioner (que ya puede haber instalado) para controlar las velocidades.

Para obtener más información y comprender qué tipo de velocidades debe probar al momento de http://opensignal.com/blog/2016/02/05/go-slow-how-why-to-test-apps-on-poor-connections/ : http://opensignal.com/blog/2016/02/05/go-slow-how-why-to-test-apps-on-poor-connections/


O en un dispositivo real, puede ir a Configuración -> Redes móviles -> Tipos de red preferidos y elegir el más lento disponible ... Por supuesto, esto es muy limitado, pero para algunos propósitos de prueba podría ser suficiente.


Puedes usar emulador para esto. Eche un vistazo a esta página: Android Emulator . Presta atención a los siguientes dos argumentos:

  1. -netdelay <delay>

    Establezca la emulación de latencia de red a. El valor predeterminado es ninguno. Consulte la tabla en Emulación de retardo de red para conocer los valores admitidos.

  2. -netspeed <speed>

    Establezca la emulación de velocidad de red en. El valor predeterminado está lleno. Consulte la tabla en Emulación de velocidad de red para conocer los valores admitidos.


Sé que es una vieja pregunta, pero ...

Actualmente, algunos teléfonos tienen una configuración para utilizar solo 2G. Es perfecto para simular Internet lento en un dispositivo real.


Simplemente acceda al monitor del dispositivo Android desde el estudio Android, luego a DDMS -> Emulator Control. Habrá propiedades de velocidad y latencia.


Tengo una estrategia para resolver su problema. Puede usar la aplicación de proxy para modificar o controlar su estado de red. por ejemplo, Charles .

Debería cambiar la configuración predeterminada de Charles como la siguiente imagen que publiqué.

Y finalmente, descubrirá que el estado neto se ha configurado a un ritmo más lento.


Una manera fácil de probar su aplicación con una conexión baja / mala en el emulador:

Vaya a Ejecutar > Ejecutar configuraciones , seleccione su aplicación Android y vaya a la pestaña Destino . Mire los parámetros de inicio del emulador . Aquí, puede modificar fácilmente la velocidad de red y la latencia de red.


como lo sugiere @VicVu Charles (o cualquier otra herramienta proxy) es una forma más fácil de hacerlo. Pero me gustaría agregar que también puedes hacer esto con tu dispositivo, no solo con genymotion u otros emuladores. El proceso será el mismo:

Modifique la configuración wifi de su dispositivo / emulador para usar el proxy manual. Y luego configure el nombre de host Proxy y el puerto a. establezca el nombre de host como ip de su sistema (obtenga la ip de su pc / mac usando ifconfig / ifconfig) b. establece el número de puerto de genymotion (verifica la configuración de proxy en charles)

PD: Su dispositivo / emulador DEBE utilizar el mismo wifi, ya que la IP que está utilizando probablemente sea la IP privada.


para usuarios de mac OS y puedes usar el Network Link Conditioner que se puede descargar desde apple. configúralo como un AP en mac y cualquier divisco podría conectarlo.

puede usar facebook herramientas de código abierto ATC http://facebook.github.io/augmented-traffic-control/


Vaya a Ejecutar> Ejecutar configuraciones, seleccione su aplicación Android y vaya a la pestaña Destino. Haga los cambios como se muestra en la figura.


Actualización para Android Studio v 1.5 o superior
Como @LouMorda mencionó en un comentario a continuación que la pestaña Emulator mencionada en la publicación original se ha eliminado en Android Studio v 1.5.

Ahora han colocado estas configuraciones en la Configuración del simulador en el AVD Manager .
Para acceder a estas configuraciones:

  1. Seleccione Tools -> Android -> AVD Manager
  2. Haga clic en el botón Edit AVD (icono de lápiz)
  3. Se puede acceder a la Network Settings luego de hacer clic en el botón Show Advanced Settings

Aquí hay una captura de pantalla de cómo puede aparecer:

Publicación original
Para cualquiera que use Android Studio IDE:

  1. Vaya a Run -> Edit Configurations
  2. Seleccione la Android Application -> [Your App]
  3. Seleccione la pestaña Emulator
  4. Aquí puede cambiar diferentes valores de Network Speed Network Latency y Network Latency para simular diferentes velocidades y latencias, etc.

Alternativamente, puede ingresar varios argumentos en el campo de texto Additional command line options como se menciona en la respuesta de @ inazaruk.

La siguiente captura de pantalla describe cómo se ve esta pantalla Run Configuration :

Sé que es un poco tarde para responder a esta pregunta, pero espero que esto ayude a otros a enfrentar problemas similares.

Editar
Para cualquiera que use eclipse, vea la respuesta de @ Abhi a continuación.