Exportando flet a android
8 noviembre, 2024

- 1.Creamos un proyecto poetry instalando poetry de manera global
- 2. instalamos flutter.
- 3.Instalando java y configurando JAVA_HOME.
- 4 .sdkmanager, instalaciones necesiarias:
- 4.1 Sin instalar Android studio.
- 4.1.1 Descargando los programas o cmdline-tools.
- 4.1.2 Configurando la variable de entorno ANDROID_SDK_ROOT.
- 4.1.3 Metiendo en el path el programa sdkmanager.
- 4.1.4 Instalando el ndk y el sdk (platform) de la versión 33 de Android.
- 4.1.5 Instalar build-tools.
- 4.1.6 Aprobar licencias.
- 4.1.7 Construyendo el apk de Android con Flet build pak.
- 4.1.8 Instalando platform-tools.
- 4.1.9 Metiendo los emuladores y programas de platform-tools en el path.
- 4.1.10 El emulator.
- 4.1.11 El avdmanager.
- 4.1.12 El adb.
- 4.1 Sin instalar Android studio.
1.Creamos un proyecto poetry instalando poetry de manera global
pip install poetry
Escribimos poetry init para convertir nuestro programa en poetry
Escribimos poetry add flet flet para añadirle la dependencia de flet
Si quieres puedes descargar el proyecto de aquí
https://github.com/kikemadrigal/Python-flet-lista_de_tareas
Pero tendrás que escribir «poetry install» para instalar las dependencias
para ejecutar el proyecto escribe «poetry run flet run» o simplemente «flet run»
2. instalamos flutter
Dentro de https://docs.flutter.dev/get-started/install pinchamos en windows:

Ahora en Android:

Bajamos la web y pinchamos en el botón de flutter_windows_3.24.4-stable.zip:

Pegamos el contenido en la unidad C:

Ponemos C:\flutter\bin en el path:

Comprobamos que funciona:

3.Instalando java y configurando JAVA_HOME
Es importante saber la diferencia entre el java que te encuentras en https://www.oracle.com/java/technologies/downloads/#jdk21-windows
Y el entorno de desarrollo java o sdk:

El sdk te proporciona como desarrollador herramientas para compilar, depurar, ejecutar el código intermedio que te genera etc.
A partir de la versión 9 oracle ya no te ofrece de manera gratuita el sdk y hay que ir a openjdk.
Descarga java de openjdk
https://jdk.java.net/java-se-ri/21
Ponlo en la ruta C:\java

Y añadelo al path

Prueba que funciona:

Según la documentación tenemos que crear la variable de entorno JAVA_Home:


4.sdkmanager, instalaciones necesaria
¿Qué es el sdkmanager?
Es un programa que lo descargaremos y lo pondremos en la ruta C:\Android\sdk\cmdline-tools\tools\bin y que nos va a permitir descargarnos el código fuente de cada versión (o platform), el código fuente escrito en C (ndk), crear emuladores (avdmanager cada uno con su emulador), gestionar esos emuladores (adb).
Este programa forma parte de un conjunto de programas que forma el cmdline-tools.
4.1 -Sin instalar Android studio
4.1.1 Descargando los programas o cmdline-tools
Descarga el archivo platform-tools(https://developer.android.com/studio?hl=es-419#command-line-tools-only)

Vamos a la unidad C: y creamos una carpeta llamada Android:

Dentro de Android creamos otra llamada sdk:

Descomprimimos el archivo descargado, la carpeta cmdlne-tools la ponemos en C:\Android\sdk:

Dentro del directorio C:\Android\sdk\cmdline-tools creamos una carpeta llamada tools y cortamos y pegamos los demás archivos a esta carpeta:

4.1.2 Configurando la variable de entorno ANDROID_SDK_ROOT
Según la documentación hay que crear a variable de entorno ANDROID_SDK_ROOT y meter la ruta del binario en el path:

Creando la variable de entorno ANDROID_SDK_ROOT con la ruta C:\Android\sdk\cmdline-tools

4.1.3 Metiendo en el path el programa sdkmanager
Metemos en el path la ruta donde está el programa sdkmanager.bat:

Lo probamos:

4.1.4 Instalando el ndk y el sdk (platform) de la versión 33 de Android.
Ahora toca instalar el ndk y el sdk de cada plataforma:

Según con la documentación instalamos el ndk 25.2.9519653
Escribimos: sdkmanager –install «ndk;25.2.9519653» –channel=3

Y escribimos “y” para confirmar:

Esto hará que se creen nuevas carpetas en el directorio C:\Android\sdk :

Y ahora la plataforma “andorid-33” escribimos: sdkmanager –install «platforms;android-33»

Si dá algún tipo de error de parseo es que no has escrito el comando bien.
Recuerda que hemos instalado flutter en el paso 2.
Escribimos flutter doctor
Si da un error de que no encuentra el andoid sdk es que no le hemos configurado la ruta del sdk a flutter o no hemos instalado el buld-tools:

Le ponemos la ruta del sdk con:
flutter config –android-sdk C:\Android\sdk

4.1.5 Instalar build-tools
Y instalamos los build-tools de la versión 33:
Escribe: sdkmanager –install «build-tools;33.0.0»


Cerramos y volvemos a abrir el cmd y probamos otra vez flutter doctor.
4.1.6 Aprobar licencias
Si nos da un error de licencias, actualizamos el cmdline-tools:

Y aceptamos las licencias:

Si nos da el error de Android SDK file not found: adb

Es que no hemos instalado el platform-tools ni configurado el path para que vea el adb que está dentro de platform-tools.
4.1.7 Instalando platform-tools
Al escribir sdkmanager –list veo que la versión de platoform-tools es la 35.0.2

Escribimos

Cerramos abrimos el terminal o cmd y escribimos de nuevo flet doctor:
Ahora si, el error que da es en el Visual studio que es para crear ejecutables de Windows.

4.1.8 Construyendo el apk de Android con Flet build pak
Escribimos flet build apk para crear el apk

Después de 10 minutos se habrá creado dentro de la carpeta build:

4.1.9 Metiendo los emuladores y programas de platform-tools en el path
Ahora queremos lanzar emuladores en nuestro pc para no utilizar nuestro móvil.
Vamos a poner el apk creado en nuestro emulador:
Pero primero tenemos que poner en el path los emuladores (que está en C:\Android\sdk\emulator) y platform-tools (que está en C:\Android\sdk\platform-tools) con los programa emulator, avdmanager y adb:


Comprueba que funcionan escribiendo adb –help, avdmanager –help y emulator –help


4.1.10 El emulator
Los emuladores son otro paquete aparte que tenemos que instalar, en nuestro caso instalaremos el emulador o system images de la api 33:
Escribimos sdkmanager –list para ver los disponibles:

Lo instalamos con sdkmanager –install “system-images;android-33;default;x86_64”

Escribimos emulator -list-avds para ver la lista de system images disponibles

4.1.11 El avdmanager
El Android Virtual Device nos va a permitir crear emuladores a partir de nuestros system images descargadas.
Esto se hace con el avdmanager que está dentro de platform-tools:

En mi caso como tengo un móvil viejo voy a crear un Android 8 o api 27, es decir voy a descargar “system-images;android-27;default;x86_64”:

Escribimos avdmanager create avd –name «samsungJ7» –package «system-images;android-27;default;x86_64»:

Para abrir mi emulador escribe “emulator -avd samsungJ7”

4.1.12 El adb
El adb nos va a permitir gestionar nuestro móvil.
4.1.12.1 adb devices
Vamos a la carpeta build que es donde se ha creado nuestro apk y escribimos “adb devices” para ver los dispositivos que hay:

14.1.12.2 Adb Shell
Escribimos adb Shell para entrar en el móvil:

ls -al dentro de la Shell de adb:

4.1.12.3 adb push ruta/nombre_archivo para poner un archivo

Trasteamos el móvil



