Cómo utilizar el emulador de Android fuera de Android studio

Los entornos de desarrollo para dispositivos móviles como Xcode o Android studio incluyen alguna herramienta para poder probar los proyectos en desarrollo sin necesidad de tener un dispositivo físico. Esta herramienta simula el comportamiento de un dispositivo físico. En el caso de Android studio esta herramienta se conoce como emulador de Android y viene incluido en el Android SDK que se instala junto a Android studio.

Este emulador, en las últimas versiones de Android studio, se ejecuta por defecto dentro del entorno de Android studio. Pero podemos necesitar ejecutar el emulador de Android fuera del entorno de Android studio. Las razones pueden ser muy variadas: el acceso al emulador no es muy accesible dentro de Android studio, el consumo de recursos de Android studio y el emulador pueden superar los recursos disponibles en la máquina que estemos utilizando, puede que queramos ejecutar una aplicación Android en nuestra máquina para realizar alguna tarea, etc. En cualquier caso es de agradecer que podamos acceder al emulador desde fuera de android studio.

Accediendo al emulador

El emulador de Android está dentro de las herramientas del SDK de Android. Es un comando de la Terminal por lo que podemos acceder a él desde la terminal de Mac o Linux o el CMD de Windows.

El SDK de Android se puede instalar de forma individual junto a las Platform-tools de Android. Al instalar Android studio también se instalará el SDK de Android. Dentro de ese SDK encontraremos una carpeta llamada emulador.

El emulador simula un dispositivo virtual que ejecuta una versión de Android. La creación y administración de dispositivos virtuales se realiza dentro de Android studio pero una vez creado el dispositivo virtual no tenemos por qué seguir utilizando el emulador dentro de Android studio.

Para abrir el emulador debemos conocer qué dispositivos virtuales están disponibles y conocer el nombre exacto con el que el sistema identifica a cada dispositivo virtual. 

Ejecutando el siguiente comando se listarán los dispositivos virtuales disponibles.

emulator -list-avds

A la hora de escribir este artículo en mi máquina se encuentran los siguientes dispositivos:

pixel3a-api31
pixel6a-api33

Conociendo el nombre exacto de los dispositivos virtuales podemos, por ejemplo arrancar el Pixel6A ejecutando el siguiente comando en la terminal:

emulator -avd pixel6a-api33

Tras introducir el comando se abrirá el entorno de emulación de Android y se cargará la imagen de Android correspondiente a la API 33 que es Android 13.

Accediendo a la gestión del dispositivo

Una vez esté funcionando el emulador de Android podemos utilizar la herramienta ADB para gestionar varios elementos del dispositivo virtual al igual que haríamos si conectásemos un dispositivo Android físico a nuestra máquina.

El ADB, también conocido como Android Debug Bridge, también se instala con las platform-tools de Android.

 Con el ADB podemos enviar órdenes o enviar archivos a nuestro dispositivo Android.

Veamos algunos comandos sencillos que se pueden realizar con ADB.

Lista de dispositivos conectados

Con el comando adb devices se mostrará una lista de dispositivos conectados a nuestra máquina incluyendo los dispositivos virtuales que están siendo ejecutados en el emulador.

Enviar un fichero al dispositivo

Para enviar un fichero al dispositivo debemos ejecutar el siguiente comando:

adb push rutaDelFicheroAEnviar rutaDeDestinoEnElDispositivo

Enviar un fichero desde el dispositivo a nuestra máquina

Con el siguiente comando el dispositivo enviará un fichero a nuestra máquina:

adb pull nombreDelFicheroARecuperar rutaDeNuestraMaquinaParaElFichero

Instalar un APK

Con el siguiente comando instalaremos un paquete de aplicación (APK) en nuestro dispositivo:

adb install nombreCompletoDelFicheroAPK

Desinstalar una aplicación

Con el siguiente comando desinstalaremos un APK del dispositivo:

adb uninstall nombreCompletoDelAPK

Acceder a la terminal del dispositivo

Con el siguiente comando accederemos a la Shell o terminal del dispositivo para poder realizar ciertas operaciones de gestión:

adb shell

Reiniciar el dispositivo

Con ADB también podemos realizar varios tipos de reinicio en el dispositivo.

Para hacer un reinicio normal el comando es:

adb reboot

Y para hacer un reinicio con bootloader el comando es:

adb reboot bootloader

También podemos activar el modo recovery:

adb reboot recovery

Problemas para ejecutar los comandos

Si al intentar ejecutar el comando adb o emulator la terminal o el CMD nos da un mensaje de error indicando que no se encuentra el fichero o comando esto indica que las carpetas de las platform-tools de android no están incluidas en el path de nuestra máquina. Para poder ejecutar estos comandos bien podemos incluir todo el path hasta la carpeta concreta donde está el comando adb o emulator o bien incluir estas rutas en la variable path de nuestra máquina.

Google prueba Project Relate, una aplicación de reconocimiento y síntesis de voz para personas con discapacidades del habla

La empresa Google está buscando mejorar los sistemas de reconocimiento del habla para que sean compatibles con las necesidades de personas con problemas en el habla.

Muchas personas en el mundo ya están habituadas a utilizar interfaces de voz hablando a dispositivos situados en el hogar o a utilizar los asistentes personales como Siri, Alexa o Google assistant pero hay personas que no pueden acceder a este tipo de servicios debido a problemas de discapacidad en el habla.

Estas personas bien por problemas de movilidad muscular en la cara o lengua u otras afecciones psicomotrices no pueden pronunciar correctamente bien en la articulación del sonido o bien en un ritmo que permita que su pronunciación sea comprensible para estos sistemas de reconocimiento del habla.

Aunque este problema se ha dado a conocer por parte de las personas afectadas a empresas como Apple, Amazon y Google todavía se está investigando una posible solución integral para estas personas.

Google en la página de A communication tool for people with speech impairments presenta el project relate.

Este proyecto consiste en una aplicación de Android que, mediante el uso de inteligencia artificial, creará modelos de reconocimiento del habla personalizados para cada usuario para ayudar a estas personas a poderse comunicar con su entorno.

El proyecto ahora está en investigación abierta buscando personas colaboradores que les envíen grabaciones de ciertas frases. Por ahora están centrados en el idioma inglés pero esperemos que pronto puedan ampliar la investigación a otros idiomas.

Talkback ahora será conocido como Android Accessibility Suite

La empresa Google ha decidido cambiar el nombre a su lector de pantallas para el sistema Android. En la última actualización de Talkback Google ha aprovechado y cambiado el nombre de este lector a Android Accessibility Suite.

Con este movimiento parece ser que la empresa quiere dejar claro que Talkback ha dejado de ser un sistema que comenzó como una aplicación para que personas pudiesen manejar el teléfono sin mirar a la pantalla y ser ya oficialmente un lector de pantallas que permite explorar una pantalla táctil mediante gestos y recibir la información bien mediante voz o braille.

Según la página de Android accessibility suite en la PlayStore este lector de pantallas incluye tres servicios:

  • Talkback: añade feedback de voz, vibración y sonido a tu dispositivo
  • Switch access: permite controlar tu dispositivo mediante gestos
  • Select to speak: permite seleccionar un contenido de la pantalla para ser leído mediante la voz de tu dispositivo

Aunque el nombre del paquete de software ha cambiado Google sigue conservando el nombre de Talkback para identificar el módulo principal del lector de pantalla así como las referencias al lector de pantallas en la documentación de soporte para Talkback

A nivel de uso este cambio de nombre no implica nada para el usuario de lector de pantallas para Android. Más bien resulta beneficioso ya que permite a fabricantes de dispositivos Android o cocineros de roms para Android incluir un único paquete con todo el soporte necesario para que un usuario ciego pueda tener acceso al sistema operativo Android instalando una única aplicación.

Puedes encontrar y descargar la aplicación en la página de Android accessibility suite en la PlayStore

Android wear un poco más accesible

Ayer tuvo lugar la presentación de apertura de Google IO 2015, el evento de Google para todos los desarrolladores que desarrollan aplicaciones y servicios para las tecnologías y plataformas de Google. Durante la charla de apertura se habló sobre las diversas plataformas y sistemas operativos de Google, entre ellos Android wear en su última versión 5.1.

Android wear es un sistema operativo diseñado para ser utilizados por dispositivos wearables o vestibles como relojes, gafas, prendas de vestir o similares.

En una de las charlas específicas sobre Android wear y sus novedades se habló de mejoras en accesibilidad para personas con discapacidad visual. Entre las nuevas características de accesibilidad para este sistema operativo encontramos:

  • Posibilidad de ajustar el tamaño de letra (pequeño, normal, grande)
  • Modo de inversión de color
  • Magnificación de pantalla

Todas estas características estarán disponibles a partir de la versión 5.1.1 de Android wear en todos los dispositivos con pantalla que actualicen a esta versión del sistema operativo.

Todas estas características están enfocadas en personas que posean un resto de visión con lo que el beneficio para las personas sin discapacidad está garantizado ya que muchos de estos dispositivos con Android wear utilizan un lenguaje visual para transmitir información y cualquier característica que permita personalizar y hacer más accesible el canal de comunicación visual del dispositivo mejora su usabilidad y experiencia de usuario.

Otra de las novedades de esta nueva versión de Android wear, aunque no relacionada directamente con la accesibilidad, abre nuevas vías de control con el dispositivo. Esta novedad consiste en la posibilidad de reconocer distintos movimientos de la muñeca y el brazo por parte de un reloj inteligente con Android wear. Una persona con discapacidad motriz que pueda realizar movimientos con la muñeca y o el brazo en el que porta el reloj podría utilizar una interfaz de comunicación con el dispositivo basado en movimientos.

Google sigue su programa de incorporación de características de accesibilidad en sus productos y plataformas y, aunque aún queda mucho camino por delante y todavía hay muchos perfiles de discapacidad no soportados, estas noticias de mejora de accesibilidad son gratamente recibidas ya que abren más posibilidades tecnológicas a todas las personas.

Esperemos que pronto podamos disfrutar más características de accesibilidad en Android wear como un lector de pantallas, personalización háptica para personas con discapacidad auditiva o control total del dispositivo a través de la voz.

Aplicaciones inteligentes para dispositivos inteligentes

Los smart phones, o teléfonos inteligentes, son dispositivos cada vez más potentes y que ofrecen más posibilidades de recopilación de información del usuario y su entorno. Gracias a los sensores de brillo, temperatura, humedad, ruido, brújula y demás estos dispositivos pueden determinar o deducir la situación del usuario y qué está haciendo en ese momento.

A toda esta información obtenida a través de los sensores se la denomina información de contexto del usuario ya que el entorno del usuario en un momento determinado define su contexto.

Mucha información con poca utilidad

Actualmente hay muy pocas aplicaciones o servicios que utilicen esta información de forma global. Encontramos aplicaciones que utilizan los sensores de localización y brújula para actividades de ruta, deporte o asesoramiento para comercios; otras aplicaciones utilizan los sensores de brillo o la cámara para jugar o detectar elementos relacionados con un servicio pero pocas aplicaciones utilizan esta información del contexto para mejorar la experiencia del usuario y la accesibilidad de la aplicación.

Esta información de contexto podría ayudar a los usuarios adaptando las aplicaciones y su interfaz a las necesidades del usuario en cada instante de uso de la aplicación.

Smart twitter un ejemplo de accesibilidad para el contexto

El equipo del departamento de I+D de Technosite ha desarrollado Smart twitter, un cliente de Twitter el cual, como valor añadido y prueba de concepto, utiliza los sensores del dispositivo para adaptar la interfaz de la aplicación para conseguir la mejor experiencia de usuario posible.

Smart twitter consulta las condiciones de brillo, ruido y batería para provocar cambios en la interfaz y en el comportamiento de la aplicación. En condiciones de luz intensa se provoca el cambio a un modo de negro sobre blanco para conseguir una mayor nitidez en la pantalla, si la luz sigue aumentando se amplía el tamaño de la letra. En condiciones de ruido se provoca el aumento de la síntesis de voz y el volumen de las notificaciones de la aplicación.

Todas estas características pueden ser desactivadas por el usuario en el apartado de configuración. Esta posibilidad de activación y modificación del comportamiento de la aplicación es muy importante debido a que la personalización es una característica importante para la accesibilidad.

La aplicación ha sido desarrollada para dispositivos Android que utilicen la versión 4.0 o superior de este sistema operativo. Esto se debe al requisito de desarrollar una aplicación lo más accesible posible.

Posibilidades y utilidades del contexto

Las nuevas tecnologías suelen aparecer, por desgracia, con varias barreras de accesibilidad entre ellas se ha de destacar una que afecta a todo el mundo: el uso de esta tecnología obliga al usuario a adaptarse al método de uso de la nueva herramienta y a aceptar nuevas rutinas y comportamientos para utilizar el nuevo producto. La persona se deshumaniza para tecnificarse. Esta deshumanización no está al alcance de todos. Las personas mayores, personas con discapacidad cognitiva o personas que utilicen productos de apoyo encuentran más problemas a la hora de acceder a una interfaz tecnológica totalmente nueva. Los productos de apoyo no son compatibles con la nueva interfaz, el modelo de distribución y uso de controles no es familiar o conocido para las personas y la documentación para el correcto uso de esta nueva tecnología suele ser escasa y mal redactada.

Un buen uso de la información de contexto puede mejorar enormemente la experiencia de usuario y la accesibilidad de multitud de servicios. Los fabricantes de dispositivos móviles y periféricos domóticos están introduciendo sensores del entorno a todo nuestro alrededor. El concepto de Smart city o ciudades inteligentes se apoya en la idea de una ciudad llena de ciudadanos, información y sensores. No debemos desaprovechar la oportunidad de utilizar toda esta tecnología en pro de una sociedad más inclusiva y una tecnología más enfocada en adaptarse al usuario y no obligar al usuario a adaptarse a la tecnología.

JustSpeak: controla tu dispositivo Android utilizando comandos de voz

El grupo EyesFree, encargados de varios de los servicios de accesibilidad para Android, acaba de liberar una versión beta del nuevo servicio de accesibilidad JustSpeak. Esta versión beta sólo soporta el idioma inglés.

JustSpeak es un sistema de control mediante comandos de voz para el sistema operativo Android. Se pueden utilizar comandos de voz de carácter global (abrir aplicaciones, ir a la sección de aplicaciones recientes, notificaciones o ajustes rápidos; o activar y desactivar los servicios de radio como Bluetooth, WIFI o Tethering). Hasta aquí parece muy similar a Siri, el asistente personal de Apple para iOS salvo porque JustSpeak no puede realizar, por ahora, operaciones relacionadas con el envío de mails, citas de calendario o contactos. Pero JustSpeak»> proporciona una funcionalidad muy especial que no proporciona Siri: posee comandos locales aplicables a la aplicación que tengamos abierta.

Utilizando JustSpeak podemos pulsar botones, marcar o desmarcar casillas de verificación y mover el scroll de la pantalla hacia arriba o hacia abajo.

Esta capacidad de interacción con una interfaz de una aplicación cualquiera abre muchas puertas al uso de aplicaciones por parte de personas con problemas de motricidad y manipulación.

Otra característica interesante de JustSpeak es la posibilidad de concatenar comandos. Por ejemplo: podemos pedir que abra los ajustes rápidos del dispositivo y toque el botón de WIFI para ir a los ajustes de WIFI. Todo en una sola frase.

Accesibilidad incompatible con la accesibilidad

Esta primera versión de JustSpeak es incompatible con otros servicios de accesibilidad de Android como TalkBack o Spiel. Esperemos que la gente de Google comprenda que el uso de un dispositivo mediante comandos de voz es útil para todas las personas y habiliten la compatibilidad con otros servicios de accesibilidad.

Servicios de accesibilidad sólo para aplicaciones accesibles

JustSpeak, al igual que otros servicios de accesibilidad de Android, requiere que los controles de la interfaz de una aplicación hagan uso de los diversos atributos y funciones de la capa de accesibilidad de Android. Al igual que sucede con TalkBack, el lector de pantallas oficial para Android, si el desarrollador utiliza una imagen como botón o marca como no focalizable o decorativo un control dicho control será incompatible para JustSpeak. Este problema sería menor si Google integrase su capa de accesibilidad de Android en todos los controles de interfaz estándar en lugar de ofrecerlo de forma opcional a los desarrolladores. Los productos de apoyo pueden intentar solucionar algunas carencias y problemas creados por esta opcionalidad de la accesibilidad en Android pero hay barreras complicadas de superar como la identificación de una imagen sin alternativa, un control sin un rol o estado asociado o botones cuyas etiquetas son símbolos matemáticos o imágenes.

Servicios para los que no pueden tocar pero obligando a tocar

Aunque JustSpeak abre muchas puertas a personas con discapacidad motriz y de manipulación presenta la misma barrera que otras soluciones similares y menos potentes como Siri o Dragon dictate: Para activar el proceso de escucha es necesario realizar un gesto en la pantalla o tocar un botón. En el caso de JustSpeak el problema es mayor ya que utiliza el mismo gesto que para activar el servicio Google Now consistente en tocar en la parte baja de la pantalla y arrastrar el dedo hacia arriba. Siendo un gesto complicado de realizar para personas con problemas de manipulación además de existir un conflicto de un mismo gesto para varios servicios.

Esperemos que pronto podamos utilizar estos servicios de control por voz en nuestros dispositivos móviles junto con otros productos de apoyo y sin necesidad de tocar o sujetar nuestro dispositivo. Los productos de apoyo deben ser utilizables desde el principio por las personas que lo necesitan.