El entorno de desarrollo

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 del Sistema operativo Chrome.

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, el Sistema operativo Chrome 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 el Sistema operativo Chrome (con Android Studio en tu Chromebook) o desde otro dispositivo, pueden usar adb a fin de 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 el Sistema operativo Chrome, con solo pulsar un botón. A continuación, te indicamos cómo:

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).

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.

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.

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

Cómo implementar desde el Sistema operativo Chrome

Después de habilitar la depuración por adb, puedes cargar una app para Android directamente en el dispositivo con Sistema operativo Chrome mediante Android Studio o, si tienes un APK, puedes cargarlo mediante 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:

Ahora puedes enviar la app como cualquier otro dispositivo Android. Aparecerá el diálogo de autorización de adb. Después de que otorgues la autorización correspondiente, se iniciará la aplicación en una nueva ventana.

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

Aparece una ventana emergente de autorización para la depuración por USB. Otorga la autorización.

Instala la app desde la terminal:

    adb install [path to your APK]

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.

A fin de lanzar el APK desde otro dispositivo a la Chromebook, debes iniciar el Sistema operativo Chrome en modo de desarrollador para que puedas configurar la Chromebook y lanzar apps desde la máquina anfitrión. Sigue estos pasos para acceder al modo de desarrollador

Cómo conectarse a adb mediante USB

  1. Habilita la depuración por adb.
  2. Determina si tu dispositivo es compatible con la depuración por USB.
  3. Presiona Ctrl + Alt + T para iniciar la terminal del Sistema operativo Chrome.
  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 <port number> 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 <port number>.

  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.

Cómo conectarse a adb mediante una red

  1. Habilita la depuración por adb.

Para depurar mediante una red, debes configurar el firewall del Sistema operativo Chrome a fin de permitir conexiones adb entrantes:

  1. Presiona Ctrl + Alt + T para iniciar la terminal del Sistema operativo Chrome.
  2. Escribe shell para acceder a la shell de comandos bash:

    crosh> shell
    chronos@localhost / $
    
  3. Escribe los siguientes comandos con el objetivo de configurar las funciones para desarrolladores y habilitar el acceso de escritura en disco para los cambios en la configuración del firewall. Si necesitas ingresar una contraseña de sudo para el usuario chronos, puedes (volver a) establecer una ejecutando el objeto chromeos-setdevpassword en la ventana de terminal de VT-2 al que puedes acceder presionando Ctrl + Alt + flecha hacia adelante. Necesitarás tu contraseña raíz.

    $ sudo crossystem dev_boot_signed_only=0
    $ sudo /usr/libexec/debugd/helpers/dev_features_rootfs_verification
    $ sudo reboot
    
  4. El comando sudo reboot reinicia la Chromebook. Puedes presionar Tab para habilitar el autocompletado de nombres de archivos. Debes completar este procedimiento solo una vez en tu Chromebook.

Después de reiniciar el dispositivo, accede a tu cuenta de prueba y escribe el siguiente comando a fin de habilitar el shell seguro y configurar el firewall correctamente:

    $ sudo /usr/libexec/debugd/helpers/dev_features_ssh

Cuando el comando se complete, podrás salir del shell.

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 <ip_address>:22
    
  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.