ADB y pruebas de apps para Android

Poder ejecutar apps para Android en una Chromebook es grandioso: les brinda a los usuarios acceso a la amplia oferta del ecosistema de Android y permite que los desarrolladores de Android puedan llegar a los usuarios de ChromeOS.

Los desarrolladores deberían hacer hincapié en verificar sus apps en diferentes factores de forma, ya que eso ayudará a mejorar las experiencias de los usuarios. Por eso, ChromeOS les brinda a los desarrolladores de Android las herramientas para implementar y probar sus apps en Chromebooks.

Ya sea que los desarrolladores implementen su app para Android directamente desde ChromeOS (con Android Studio en tu Chromebook) o desde otro dispositivo, pueden usar adb para implementar sus apps y depurar diferentes interacciones con Chromebooks. Para obtener más detalles, consulta los siguientes pasos.

Cómo habilitar la depuración por adb

Anteriormente, el uso de adb en Chromebooks solo era posible en el modo de desarrollador, que requiere aplicar el proceso de powerwash (restablecer) en el dispositivo y que puede reducir la seguridad. Afortunadamente, desde Chrome 81, los desarrolladores pueden mantener sus dispositivos fuera del modo de desarrollador e implementar apps que desarrollan, de forma directa, en ChromeOS, con solo pulsar un botón. Aquí le mostramos cómo hacerlo:

Primero, asegúrate de que la Chromebook no esté en el modo de desarrollador. Luego, ve a la configuración y activa Linux (si aún no lo hiciste).

Cómo activar Linux

Una vez que Linux esté disponible, abre la configuración de Linux y verás la opción "Desarrollar apps para Android". Ábrela.

Activa o desactiva Habilitar depuración mediante ADB, y se reiniciará la computadora.

Cómo habilitar la depuración por ADB

Después de que se reinicie la computadora, verás un mensaje que te informará que puede haber aplicaciones que no se descargaron de la tienda de aplicaciones en el dispositivo.

Es posible que este dispositivo incluya apps que Google no verificó

Ahora, adb está disponible para implementar apps en la Chromebook, ejecutar comandos de depuración y también interactuar directamente con el dispositivo.

A fin de asegurarte de que tu app para Android funcione bien en una variedad de dispositivos Chromebooks y los factores de forma disponibles, Google te recomienda que la pruebes en los siguientes dispositivos:

  • Una Chromebook ARM
  • Una Chromebook x86
  • Un dispositivo con pantalla táctil y uno que no la tenga
  • Un dispositivo convertible, es decir, que pueda cambiar de laptop a tablet
  • Un dispositivo con pluma stylus

Implementa desde ChromeOS

Después de habilitar la depuración por adb, puedes cargar una app para Android directamente en el dispositivo ChromeOS con Android Studio o, si tienes un APK, puedes cargarlo con la terminal.

Cómo implementar con Android Studio

Después de configurar Android Studio y ADB como se describió anteriormente, puedes enviar las apps al contenedor de Android de la Chromebook, de forma directa, desde Android Studio.

La Chromebook aparecerá como una opción en el menú desplegable del dispositivo:

Menú desplegable de dispositivos de Android Studio

Ahora puedes enviar la app como cualquier otro dispositivo Android. El diálogo de autorización de ADB aparece la primera vez que intentas enviar a un dispositivo nuevo. Después de que la autorices, se iniciará la aplicación en una ventana nueva.

Conéctate al dispositivo a través de ADB en Android Studio

Eso es todo. Ahora puedes implementar la app en la Chromebook, probarla y depurarla sin la molestia de estar en modo de desarrollador.

Cómo implementar con la terminal

Instala adb si es necesario:

sudo apt install adb

Conéctate al dispositivo:

adb connect arc

La primera vez que intentes realizar la implementación en el dispositivo, aparecerá una ventana emergente de autorización para la depuración por USB, y deberás permitirla.

Autorización para conectarse al dispositivo

Instala la app desde la terminal:

adb install [path to your APK]

Instala la app desde la terminal

Cómo implementar desde otro dispositivo

Si no puedes usar el método que se describe anteriormente y necesitas lanzar la app desde otro dispositivo, puedes conectar el dispositivo a adb con USB o una dirección de red.

Cómo conectarse a adb mediante una red

  1. Asegúrate de haber habilitado la depuración por ADB.

Obtén la dirección IP de tu navegador.

  1. Haz clic en el reloj del área inferior derecha de la pantalla.

  2. Haz clic en el ícono de ajustes.

  3. Haz clic en el tipo de red al que estás conectado (Wi-Fi o datos móviles) y, luego, en el nombre de la red.

  4. Anota la dirección IP.

Conéctate a tu Chromebook:

  1. Regresa a tu máquina de desarrollo y usa adb para conectarte a la Chromebook mediante tu dirección IP:

    adb connect 
  2. En tu Chromebook, haz clic en Permitir cuando se te pregunte si deseas permitir el depurador. Tu sesión de adb está establecida.

Solución de problemas de depuración de adb mediante una red

A veces, el dispositivo adb muestra que está sin conexión cuando todo está conectado correctamente. En este caso, completa los siguientes pasos para solucionar el problema:

  1. Desactiva la Depuración ADB en las Opciones para desarrolladores.
  2. En una ventana de terminal, ejecuta adb kill-server.
  3. Vuelve a activar la opción Depuración ADB.
  4. En una ventana de terminal, intenta ejecutar adb connect.
  5. Haz clic en Permitir si se te pregunta si deseas permitir la depuración. Tu sesión de adb está establecida.

Cómo conectarse a adb mediante USB

Para lanzar el APK desde otro dispositivo a la Chromebook a través de USB, debes iniciar ChromeOS en modo de desarrollador para que puedas configurar la Chromebook y lanzar apps desde la máquina anfitrión. Este es el único método que actualmente requiere el modo de desarrollador y solo funciona en una pequeña cantidad de dispositivos. Por este motivo, se recomienda usar ADB a través de la red. Si aún quieres continuar, sigue estos pasos para acceder al modo de desarrollador.

  1. Asegúrate de haber habilitado la depuración por ADB.
  2. Determina si tu dispositivo es compatible con la depuración por USB.
  3. Presiona control + alt + t para iniciar la terminal de ChromeOS.
  4. Escribe shell para acceder a la shell de comandos bash:
    crosh> shell
    chronos@localhost / $
  5. Escribe los siguientes comandos para configurar tu dispositivo:
    $ sudo crossystem dev_enable_udc=1
    $ sudo reboot
  6. Después de reiniciar, vuelve a abrir la terminal y ejecuta el siguiente comando para habilitar adb en el puerto USB de la Chromebook:
    $ sudo ectool usbpd  dr_swap

Usa este comando cada vez que desconectes y vuelvas a conectar un cable USB. Para asegurarte de que tu Chromebook esté en modo UFP, ejecuta ectool usbpd .

  1. Conecta un cable USB a un puerto compatible en tu dispositivo.
  2. Ejecuta el elemento adb devices desde las herramientas de la plataforma del SDK de Android en la máquina anfitrión para ver la Chromebook como un dispositivo compatible con adb.
  3. En la Chromebook, haz clic en Permitir cuando se te pregunte si deseas permitir el depurador. Tu sesión de adb está establecida.