Ir al contenido principal

Flutter en chromebook sin modo desarrollador

Estoy tratando de convertir mi Chromebook Pixel 2015 en una estación de desarrollo de aplicaciones móviles con Flutter.
La principal dificultad es el emulador que visualiza un móvil virtual para ver las apps que se generan. El problema está en que para esto tenemos que lanzar apps Linux, que se ejecutan en un contenedor y si dentro de ese contenedor ejecutamos un emulador irá muy lento o directamente no funcionará. Para solventar esto podemos conectar el móvil al chromebook y que se ejecuten las apps directamente en él.

Ya tengo activado el soporte para Linux e instalado el Visual Studio Code (VSC):
Si no es tu caso revisa estos artículos:
Ahora vamos a instalar todo lo necesario para poder programar aplicaciones móviles y multiplataforma en Flutter. Si no sabes que es Flutter, aquí tienes su documentación oficial en castellano.

Voy a seguir la guía oficial para instalar las extensiones de Dart y Flutter en VSC.
Abrimos VSC y en View + Command Palette ponemos install extensions

Ahí buscamos flutter e instalamos

Ahora Valida tu configuración con: View>Command Palette…Flutter: Run Flutter Doctor


La salida la puedes ver en View + Output


Si te sale que no tienes el SDK, dale a descargar SDK. Al final llegarás a la página de Flutter en Chrome OS
Flutter necesita estas herramientas de línea de comandos.
  • bash
  • curl
  • git 2.x
  • mkdir
  • rm
  • unzip
  • which
  • xz-utils

En mi caso sólo tuve que instalar las xz-utils, ejecutamos la Terminal de Linux:
sudo apt install xz-utils
Además el comando test de Flutter necesita la librería libGLU.so.1 que proporciona el paquete libglu1-mesa en Ubuntu/Debian.
Ejecutamos: 
sudo apt install libglu1-mesa
Ahora hay que descargarse el SDK desde la página oficial: SDK Flutter
son unos 500MB. Para descargarlo el siguiente procedimiento es el más sencillo en mi opinión:
a) En la terminal de Linux creamos un directorio flutter
mkdir flutter
entramos en él
cd flutter
b) y nos descargamos el SDK de Flutter, ejecutamos
git clone https://github.com/flutter/flutter.git
c) añadimos el directorio la path (sólo para la sesión actual)
export PATH="$PATH:`pwd`/flutter/bin"
ya podemos ejecutar 
flutter doctor
se descarga  todo lo necesario para el SDK.

Y termina saliendo un mensaje, en mi caso VSC instalado, Android Studio no instalado y ningún dispositivo Android conectado.

d) Ahora vamos a crear un PATH para cualquier sesión futura
editamos el .bashrc de nuestro directorio Home
Para ello instalamos el editor nano
sudo apt install nano
editamos el archivo
nano .bashrc
y añadimos al final del archivo esta línea (en mi caso)
PATH="$PATH:/home/mosqueteroweb/flutter/flutter/bin"
Guardamos y salimos

Ejecutamos
 source .bashrc
Y ya tenemos el PATH correcto, si ponemos echo $PATH veremos que la ruta de Flutter está integrada.

Ahora hay que conectar el móvil Android para no tener que instalar el emulador, que sería un emulador sobre una máquina virtual de rendimiento dudoso.

Lo he conectado y nada, el Chrome OS no se entera, en la opción de linux no sale nada.


He puesto el móvil con el modo desarrollador activado (cada dispositivo móvil hace esto de una manera, si no sabes cómo busca en Internet cómo se hace para tu smartphone, suele ser pulsando repetidas veces sobre la opción Número de compilación de la configuración del teléfono) y las opciones de USB para ese modo activados


 pero al conectar el móvil sólo se carga, el chromebook no se entera.

¿Será que hay que poner el chromebook en modo desarrollador? 
Esto lo dicen muchos tutoriales pero no es necesario.
He reiniciado el móvil y ahora sí me lo reconoce chrome os al conectarlo.

Pero flutter doctor no me lo reconoce como dispositivo conectado.
He creado el proyecto de demo de flutter y al darle a depurar me dice que no hay dispositivo conectado.


Al darle a crear emulador me dice que falta el SDK de Android.
Vamos a instalar Android Studio para Chrome OS , son 700MB https://developer.android.com/studio#downloads


Instalamos el paquete de android studio .deb
sudo dpkg -i android-studio-ide-193.6514223-cros.deb 
Nota: También puede ser con botón derecho en archivos


Nota: Se puede seguir la documentación oficial.
Y nada sigue sin reconocerme ningún dispositivo, ¿por qué?

Continuamos hasta conseguirlo, estamos cerca, como resulta que tenemos el Android Studio instalado lo ejecutamos y seguimos el asistente


Todavía salen advertencias en flutter doctor
Ejecuto el programa demo en VSC y le doy a emulator y me sale en el móvil conectado que habilite depuración usb, le digo que y empieza el proceso de ejecución, lo cosa mejora pero me da un error de android 28 (la versión de Android da un problema).
Abro el Android Studio y ejecuto el sdkmanager en Configure


y descargo el android 9 (que es la versión 28 que nos daba el error de antes)


vuelvo a ejecutar y genera el apk en VSC


sale un mensaje en el móvil de instalar app le dices que sí y ya tienes la app en el móvil


Vídeo demostración.


Ejecútalo y a disfrutar de programando.

Si te ha gustado esta información compártela en tus redes sociales. Y para contactar conmigo @mosqueteroweb.