Genymotion: Emula de manera más rápida y eficiente tus apps Android

Standard

 

Genymotion logo

 

Qué tal, gente. Actualmente nos encontramos con una abrumadora diversidad de dispositivos Android en el mercado, ante lo cual es necesario desarrollar aplicaciones capaces de dar soporte a todos ellos… o en su defecto, a la mayor cantidad posible. No en todos los casos es viable ni práctico el contar con muchos dispositivos físicos de características diferentes (sea tamaño de pantalla, resolución, hardware, versión de Android, etc.) para realizar pruebas de apariencia y rendimiento en ellos, por lo cual es una común necesidad el uso de emuladores para llevar a cabo esta tarea.

Imagino que todo Android developer, si pretende autodenominarse tal, debe conocer el tortuoso camino al noveno círculo del infierno que puede llegar a representar el tratar de emular una aplicación contando con recursos de hardware limitados… y valiéndose solamente del emulador default de Android Studio.

Con esa dantesca situación como antecedente, en esta ocasión comparto con ustedes una herramienta bastante útil y práctica para el desarrollo y testeo de aplicaciones Android que, gracias a su uso simple y respuesta notablemente rápida (más rápida que la mayoría de los dispositivos Android), se ha formado ya una considerable cantidad de seguidores que no dudan (evidentemente me incluyo) en recomendarla y hablar sobre los beneficios prácticos que ésta nos ofrece.

Emulador default de Android

El emulador AVD (Android Virtual Device) de Android Studio (ya bien conocido por su excesiva lentitud e ineficiencia en equipos no del todo superdotados), se encuentra incluido en el Android SDK y puede ser encontrado en el directorio “tools” del proyecto, o ya sea directamente desde el IDE como sugerencia en la ventana de diálogo resultante al ejecutar la aplicación.

Android emulator

Emulador AVD (Android Virtual Device) de Android Studio

El hecho es que éste emula a un procesador ARM con la finalidad de ejecutar el código de la aplicación. Lo consigue realizando una traducción binaria dinámica del código fuente a código máquina de acuerdo al sistema operativo y la arquitectura del procesador del equipo utilizado para desarrollar el software. En pocas palabras, realiza todo un proceso complicado y costoso para simular que es un procesador ARM cuando en realidad no lo es. De ahí los bien conocidos problemas de rendimiento.

Aunque existen alternativas para aumentar su velocidad (o digamos volverla menos insultante), regularmente éstas requieren de bastante configuración y conocimiento un tanto avanzado sobre los recursos del dispositivo virtual para manipularlos al grado de hacer milagros con ellos. Esto deriva en un buen rato de investigación y prueba-error que puede resultar muy poco deseable para muchos (entre los cuales por supuesto también me incluyo). Por lo tanto, optamos por alternativas más agradables.

¿Qué es Genymotion?

De acuerdo con su página oficial, más/menos palabras: Genymotion es un emulador Android (teléfono y tablet) que comprende un set completo de sensores y características que tienen la finalidad de permitir el interactuar directamente con el ambiente Android.

Dispositivo Genymotion iniciando

Dispositivo Genymotion iniciando

Pantalla principal

Pantalla principal

Éste emulador rápido y fácil de instalar, desarrollado por la compañía Genymobile, está basado en el proyecto de código abierto AndroVM y se encuentra disponible para los principales sistemas operativos (Windows, Mac, Linux). Por el momento es gratuito, aunque también se encuentra disponible en su versión de paga. Además, es posible utilizarlo tanto desde Android Studio como desde Eclipse, por aquellos que aún no han migrado.

Características

Entre las principales características y consecuentes beneficios que nos ofrece Genymotion, podemos encontrar los siguientes:

  • Emulación de dispositivos Android. Más de 40 dispositivos diferentes, preconfigurados y personalizables. Acceso a todas las versiones de Android e instalación ilimitada de aplicaciones.
  • Emulación de características de hardware. Rotación de pantalla, GPS, control de batería, cámara, capturas de vídeo (screencast), calidad de la red y rendimiento, control remoto (replicación de acelerómetro, giroscopio o eventos multi-touch de cualquier dispositivo conectado a la computadora), etc…
  • Emulación de red y llamadas. Monitoreo de calidad y rendimiento, interrupción de llamadas, emulación SMS.
  • Multiples tamaños de pantalla y resoluciones. Cuenta con una gran cantidad de configuraciones diferentes de pantalla para dispositivos Android. Además, es posible configurar éstas de manera personalizada.
  • Ambiente de desarrollo. Plugins para Android Studio y Eclipse, es compatible con todas las herramientas Android SDK.
  • Fácil integración. La integración de Genymotion para el testeo y su servidor de integración continua son simples y potentes.
  • Alto rendimiento. Construido de AOSP, optimizado para mayor velocidad y validado para compatibilidad.
  • Herramientas para desarrollador. Línea de comandos, API de Java, plugin para Gradle, clonación y reseteo de dispositivos, copy-paste de textos desde la computadora al emulador y drag & drop de archivos al dispositivo.

Cabe mencionar que una cantidad considerable de estas características se encuentran sólo disponibles en la versión “premium” o de paga, por lo cual sólo las básicas están libres en la versión gratuita.

Genymotion se encuentra en constante mejora y esto lo he comprobado informándome también con artículos no tan recientes, en los cuales a la fecha no se encontraban disponibles una buena cantidad de características que actualmente forman parte del emulador. Esto además de su mejora en cuanto a compatibilidad con versiones antiguas de Android y diversidad de dispositivos.

Es estable, fácil de instalar y usar, muy rápido (tanto así que es necesario tener cuidado ya que el emulador corre incluso más rápido que la mayoría de los dispositivos físicos reales Android, lo cual puede dar una falsa impresión de rendimiento de nuestras aplicaciones). Por lo tanto, como adelanté en el principio de este post, no dudo en recomendar ampliamente el uso de esta herramienta si lo que desean es dejar de complicarse la existencia, conseguir mayor productividad y aprovechar de mejor manera su tiempo en el desarrollo y testeo de aplicaciones Android.

Entonces no se diga más: Get Started con Genymotion y manténganse al tanto de su soporte para desarrolladores. ¡Hasta luego!

Fuentes:

Leave a Reply

Your email address will not be published. Required fields are marked *