Exportando flet a android

8 noviembre, 2024 0 Por admin
Exportando flet a android

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