Suscribir

¡Google I/O 2023 llegará el 10 de mayo! ¡Regístrate ahora!

Entorno de Android

Instalar aplicaciones de Android en ChromeOS

Poder ejecutar aplicaciones de Android en un Chromebook es genial, les da a los usuarios acceso a la amplia oferta del ecosistema de Android y les brinda a los desarrolladores de Android la oportunidad de llegar a los usuarios de ChromeOS.

Los desarrolladores deben asegurarse de verificar sus aplicaciones en diferentes tipos de dispositivos, ya que esto ayudará a mejorar las experiencias de los usuarios. Es por eso que ChromeOS proporciona a los desarrolladores de Android las herramientas para implementar y probar sus aplicaciones en Chromebooks.

Si los desarrolladores están implementando su aplicación de Android directamente desde ChromeOS (usando Android Studio en su Chromebook) o desde otro dispositivo, los desarrolladores pueden usar ADB para implementar sus aplicaciones y depurar diferentes interacciones con las Chromebooks. Para obtener más detalles, consulte los pasos a continuación.

Habilitar depuración de ADB

Anteriormente, el uso de ADB en su Chromebook solo era posible mientras estaba en modo desarrollador, lo que requiere devolver el dispositivo a la configuración de fábrica y puede reducir la seguridad. Afortunadamente, desde Chrome 81, los desarrolladores pueden mantener sus dispositivos fuera del modo de desarrollador y aún implementar aplicaciones desarrolladas directamente en ChromeOS, con solo presionar un interruptor. Aquí es cómo:

Primero, asegúrese de que el Chromebook no esté en modo desarrollador . Luego vaya a configuración y encienda Linux (si no lo ha hecho antes).

Una vez que Linux esté disponible, abra la configuración de Linux y encontrará una nueva opción ‘Desarrollar aplicaciones de Android’, abra esa opción.

Active la depuración ADB y la computadora se reiniciará.

Cuando la computadora se reinicie, verá un mensaje que le informa que puede haber aplicaciones que no se descargaron de la tienda de aplicaciones en el dispositivo.

Este dispositivo puede contener aplicaciones que Google no haya verificado.

ADB ahora está disponible para implementar aplicaciones en su Chromebook, ejecutar comandos de depuración e interactuar directamente con el dispositivo.

Para garantizar que su aplicación de Android funcione bien en una variedad de dispositivos Chromebook y dispositivos con distintas configuraciones , Google recomienda que pruebe su aplicación en los siguientes dispositivos:

  • Un Chromebook basado en ARM
  • Un Chromebook basado en x86
  • Un dispositivo con pantalla táctil y uno sin.
  • Un dispositivo convertible; es decir, uno que puede cambiar entre una computadora portátil y una tableta
  • Un dispositivo con un lápiz

Implementar desde ChromeOS

Después de habilitar la depuración de ADB, puede instalar una aplicación de Android directamente en su dispositivo ChromeOS usando un Android Studio o si tiene un APK puede instalarlo usando la Terminal.

Implementar con Android Studio

Con la configuración de Android Studio y la configuración ADB anterior, los desarrolladores pueden enviar sus aplicaciones al contenedor de Android del Chromebook directamente desde Android Studio. El Chromebook aparecerá como una opción en el menú desplegable del dispositivo:

Menú desplegable de dispositivos Android Studio

Simplemente presione correr como en cualquier otro dispositivo Android, verá el cuadro de diálogo de autorización y una ventana con su aplicación en ejecución se iniciará automáticamente después de otorgar la autenticación.

Eso es todo, ahora puede implementar la aplicación en el Chromebook, probar y depurar sin la molestia de estar en modo desarrollador.

Implementar con Terminal

Si no lo ha hecho, instale ADB:

Bash
sudo apt install adb

Conéctese al dispositivo:

Bash
adb connect arc

Aparecerá una ventana emergente pidiendo autorización para la depuración de USB, concédelo.

Autorización para conectarse al dispositivo

Instala tu aplicación desde la terminal:

Bash
adb install [path to your APK]

Instalar desde otro dispositivo

Si no puede usar el método descrito anteriormente y necesita enviar su aplicación desde otro dispositivo, tiene un par de opciones: puede usar USB o una dirección de red para conectar su dispositivo a ADB.

Para enviar su APK desde otro dispositivo al Chromebook, debe iniciar su ChromeOS en modo desarrollador para que pueda configurar el Chromebook y enviar aplicaciones desde la máquina host. Siga estos pasos para ingresar al modo desarrollador

Conéctese a ADB por USB

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

  2. Determine si su dispositivo admite la depuración de USB

  3. Presione Control+Alt+T para iniciar el terminal ChromeOS.

  4. Escriba shell para llegar al comando bash shell:

    Bash
    crosh> shell
    chronos@localhost / $
    
  5. Escriba los siguientes comandos para configurar su dispositivo:

    Bash
    $ sudo crossystem dev_enable_udc=1
    $ sudo reboot
    
  6. Después de reiniciar, abra el terminal nuevamente y ejecute el siguiente comando para habilitar ADB en el puerto USB del Chromebook:

    Bash
    $ sudo ectool usbpd <port number> dr_swap
    

Use este comando cada vez que desconecte y vuelva a conectar un cable USB. Para asegurarse de que su Chromebook esté en modo UFP, puede ejecutar ectool usbpd <número de puerto> .

  1. Conecte un cable USB a un puerto compatible en su dispositivo
  2. Ejecute adb devices desde las herramientas de la plataforma Android SDK en su máquina host para ver su Chromebook como un dispositivo compatible con ADB
  3. En su Chromebook, haga clic en Permitir cuando se le pregunte si desea permitir el depurador. Su sesión ADB está establecida.

Conéctese a ADB a través de una red

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

Para depurar a través de una red, debe configurar el firewall de ChromeOS para permitir conexiones ADB entrantes:

  1. Presione Control+Alt+T para iniciar el terminal ChromeOS.

  2. Escriba shell para llegar al comando bash shell:

    Bash
    crosh> shell
    chronos@localhost / $
    
  3. Escriba los siguientes comandos para configurar las características del desarrollador y habilitar el acceso de escritura en disco para los cambios en la configuración del firewall. Si necesita ingresar una contraseña de sudo para el usuario de chronos , puede (re) establecer una ejecutando chromeos-setdevpassword en el indicador VT-2 (Control+Alt+) ; Necesitarás tu contraseña de root.

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

Después de reiniciar su dispositivo, inicie sesión en su cuenta de prueba y escriba el siguiente comando para habilitar el shell seguro y configurar el firewall correctamente:

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

Cuando se completa el comando, puede salir del shell.

Obtenga la dirección IP de su Chromebook:

  1. Haga clic en el reloj en el área inferior derecha de la pantalla.
  2. Haz clic en el ícono de ajustes.
  3. Haga clic en el tipo de red a la que está conectado (Wi-Fi o datos móviles) y luego en el nombre de la red.
  4. Tome nota de la dirección IP.

Conéctese a su Chromebook:

  1. Regrese a su máquina de desarrollo y use ADB para conectarse a su Chromebook usando su dirección IP:

    Bash
    adb connect <ip_address>:22
    
  2. En su Chromebook, haga clic en Permitir cuando se le pregunte si desea permitir el depurador. Su sesión ADB está establecida.

Solución de problemas de depuración de ADB a través de una red

A veces, el dispositivo ADB muestra que está fuera de línea cuando todo está conectado correctamente. En este caso, complete los siguientes pasos para solucionar el problema:

  1. Desactiva la depuración de ADB en las opciones de desarrollador .
  2. En una ventana de terminal, ejecute adb kill-server .
  3. Reactive la opción de depuración ADB .
  4. En una ventana de terminal, intente ejecutar adb connect .
  5. Haga clic en Permitir cuando se le solicite si desea permitir la depuración. Su sesión ADB está establecida.