22 octubre 2013

Emuladores de Android

Mucho está cambiando la industria de la seguridad con este "nuevo" panorama de tecnología móvil. Con los teléfonos y las tabletas, miles de aplicaciones deben auditarse para asegurar que no incrementan el riesgo de una compañía.

Bancos, pasarelas de pago, tiendas online, redes sociales e incluso juegos, son los nuevos objetivos de maleantes y capitanes garfio.

Para llevar a cabo un análisis de seguridad se suele estudiar el código fuente, así como el binario y sus recursos resultantes tras ser compilado.

Si vais a ejecutar un proyecto de este estilo, es prácticamente imprescindible montar un entorno con el que emular Android. Para este propósito existen varias alternativas, cada una de ellas con unas ventajas y unos inconvenientes. En esta entrada hacemos un repaso por las más conocidas.


El SDK oficial de Android dispone del que posiblemente sea el emulador más usado. Con este emulador se cargan y crean los AVD (Android Virtual Device), como si fueran imágenes de distintos dispositivos, en los que se especifica el hardware y la versión del sistema operativo.

Algunas características interesantes de este emulador:
  • Posibilidad de emular la camara de teléfono mediante una webcam.
  • Emula procesadores ARMv7.
  • Aceleración OpenGL
  • Opción de emular una tarjeta SIM
  • Emulación del acelerómetro, obteniendo los datos de un teléfono real conectado por usb.
  • Simulación de tarjetas SD.
Adicionalmente permite configurar otras opciones como son las teclas para interactuar con el emulador o el aspecto mediante temas.


Android Emulator


Genymotion es una aplicación que trabaja usando VirtualBox, siendo la evolución de AndroVM, Facilita la gestión y trabajo como emulador. Es conocida por ser muy rápido frente a otras opciones y la posibilidad de trabajar mediante línea de comandos con el emulador, lo que permite a los desarrolladores llevar a cabo pruebas de forma automática.

Otras características destacables:
  • Fácilmente descargable e instalable (requiere registrarse gratuitamente en la web), 
  • Preconfiguradas las imágenes para Android 4.1.1 y 4.2.2: Nexus 7, Nexus S, Nexus One Jelly Bean, 10.1'', WXGA Tablet, 7.0'' y tableta WSVGA.
  • Funciona bajo Linux, Windows y MAC
  • Red mediante ethernet que emula wireless
  • Soporte GPS
  • Soporte de emulación de nivel de bateria)
  • Aceleración OpenGL
  • Soporte ADB
  • Plugins para Eclipse y IntelliJ

Genymotion
Otra de las opciones más comunes es BlueStacks. Permite emular tanto x86 como ARM sobre Windows, aunque tiene una clara orientado a juegos y promocionar aplicaciones del mundo Android al uso en entornos Windows.


BlueStacks


Youwave es un entorno no enfocado al desarrollo que permite ejecutar aplicaciones en sistemas Windows mediante emulación. Se vende bajo dos versiones: básica y home, por cerca de 15$ y 20$. Es ejecutado en VirtualBox (requiere que no esté instalado en el equipo).

Sus características son las más pobres y no emula sensores como otras alternativas. Su principal negocio está en los usuarios que desean jugar o usar aplicaciones como whatsapp en el pc.

YouWave

4 comments :

rrupi dijo...

Gracias por ese trabajo! Facilita mucho la vida a la hora de elegir uno :)

Juanfe dijo...

¿Y no sirven los basados en una aplicación web como Manymo?

Alejandro Ramos dijo...

IMHO, están orientados al QA, más que a otras pruebas como las de seguridad.

Linnow dijo...

El bluestacks es una mierda el Android SDK es el mejor!!!!!!!!!