En esta sección, aprenderás cómo preparar y construir tu aplicación Flutter para dispositivos Android. Este proceso incluye la configuración de tu entorno de desarrollo, la generación de archivos APK y AAB, y la optimización de tu aplicación para su lanzamiento en Google Play Store.
- Configuración del Entorno de Desarrollo
Antes de construir tu aplicación para Android, asegúrate de tener el entorno de desarrollo configurado correctamente.
Requisitos Previos
- Flutter SDK: Asegúrate de tener Flutter instalado. Puedes seguir las instrucciones en la documentación oficial de Flutter.
- Android Studio: Necesitarás Android Studio para emular dispositivos y construir tu aplicación. Descárgalo desde aquí.
- Java Development Kit (JDK): Asegúrate de tener el JDK instalado. Android Studio generalmente incluye el JDK necesario.
Configuración de Android Studio
-
Instalar Android Studio: Descarga e instala Android Studio desde el sitio oficial.
-
Configurar Android SDK: Abre Android Studio y ve a
File > Settings > Appearance & Behavior > System Settings > Android SDK
. Asegúrate de tener instalados los siguientes componentes:- Android SDK Platform-Tools
- Android SDK Build-Tools
- Android API nivel 29 o superior
-
Configurar AVD (Android Virtual Device): Ve a
Tools > AVD Manager
y crea un nuevo dispositivo virtual para emular tu aplicación.
Configuración de Variables de Entorno
Asegúrate de que las variables de entorno estén configuradas correctamente:
export ANDROID_HOME=$HOME/Library/Android/sdk export PATH=$PATH:$ANDROID_HOME/emulator export PATH=$PATH:$ANDROID_HOME/tools export PATH=$PATH:$ANDROID_HOME/tools/bin export PATH=$PATH:$ANDROID_HOME/platform-tools
- Generación de Archivos APK y AAB
Generar un APK
Un APK (Android Package) es el formato de archivo que se utiliza para distribuir e instalar aplicaciones en dispositivos Android.
-
Construir el APK: Abre una terminal en el directorio raíz de tu proyecto Flutter y ejecuta el siguiente comando:
flutter build apk --release
-
Ubicación del APK: El archivo APK generado se encontrará en
build/app/outputs/flutter-apk/app-release.apk
.
Generar un AAB
Un AAB (Android App Bundle) es el formato recomendado por Google para la distribución de aplicaciones en Google Play Store, ya que permite optimizaciones adicionales.
-
Construir el AAB: Ejecuta el siguiente comando en la terminal:
flutter build appbundle --release
-
Ubicación del AAB: El archivo AAB generado se encontrará en
build/app/outputs/bundle/release/app-release.aab
.
- Configuración de Firma de Aplicación
Para publicar tu aplicación en Google Play Store, necesitas firmarla digitalmente.
Generar un Keystore
-
Crear un Keystore: Abre una terminal y ejecuta el siguiente comando para generar un nuevo keystore:
keytool -genkey -v -keystore ~/my-release-key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias my-key-alias
-
Guardar el Keystore: Guarda el archivo
my-release-key.jks
en un lugar seguro.
Configurar la Firma en Flutter
-
Crear un archivo de configuración: Crea un archivo llamado
key.properties
en el directorio raíz de tu proyecto con el siguiente contenido:storePassword=<password-from-keytool> keyPassword=<password-from-keytool> keyAlias=my-key-alias storeFile=<location-of-your-keystore-file>
-
Modificar
build.gradle
: Abre el archivoandroid/app/build.gradle
y añade la configuración de firma:android { ... defaultConfig { ... } signingConfigs { release { keyAlias keystoreProperties['keyAlias'] keyPassword keystoreProperties['keyPassword'] storeFile file(keystoreProperties['storeFile']) storePassword keystoreProperties['storePassword'] } } buildTypes { release { signingConfig signingConfigs.release } } }
- Optimización para el Lanzamiento
Reducir el Tamaño del APK
-
Eliminar Recursos No Utilizados: Asegúrate de eliminar cualquier recurso no utilizado en tu proyecto.
-
Habilitar ProGuard: ProGuard puede ayudar a reducir el tamaño de tu APK al eliminar código no utilizado y optimizar el código restante. Añade la siguiente configuración en
android/app/build.gradle
:buildTypes { release { minifyEnabled true shrinkResources true proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } }
Configurar ProGuard
- Crear un archivo ProGuard: Crea un archivo llamado
proguard-rules.pro
en el directorioandroid/app/
con las reglas necesarias para tu aplicación.
- Publicación en Google Play Store
Crear una Cuenta de Desarrollador
- Registrarse: Regístrate en la Google Play Console y crea una cuenta de desarrollador.
Subir tu Aplicación
- Crear una Nueva Aplicación: En la Google Play Console, crea una nueva aplicación y sigue las instrucciones para completar la información necesaria.
- Subir el AAB: Sube el archivo AAB generado en la sección de "App releases".
- Completar la Información: Completa toda la información requerida, incluyendo la descripción de la aplicación, capturas de pantalla, y configuraciones de precios y distribución.
- Enviar para Revisión: Una vez que hayas completado todos los pasos, envía tu aplicación para revisión.
Conclusión
En esta sección, has aprendido cómo configurar tu entorno de desarrollo, generar archivos APK y AAB, firmar tu aplicación y optimizarla para su lanzamiento en Google Play Store. Estos pasos son cruciales para asegurar que tu aplicación esté lista para ser distribuida a los usuarios de Android. En la siguiente sección, exploraremos la integración continua y el despliegue continuo (CI/CD) para automatizar el proceso de construcción y despliegue de tu aplicación.
Curso de Desarrollo con Flutter
Módulo 1: Introducción a Flutter
- ¿Qué es Flutter?
- Configuración del Entorno de Desarrollo
- Entendiendo la Arquitectura de Flutter
- Creando Tu Primera App con Flutter
Módulo 2: Conceptos Básicos de Programación en Dart
- Introducción a Dart
- Variables y Tipos de Datos
- Sentencias de Control de Flujo
- Funciones y Métodos
- Programación Orientada a Objetos en Dart
Módulo 3: Widgets en Flutter
- Introducción a los Widgets
- Widgets Stateless vs Stateful
- Widgets Básicos
- Widgets de Diseño
- Widgets de Entrada y Formularios
Módulo 4: Gestión de Estado
Módulo 5: Navegación y Enrutamiento
- Introducción a la Navegación
- Navegación Básica
- Rutas Nombradas
- Pasando Datos Entre Pantallas
- Deep Linking
Módulo 6: Redes y APIs
- Obteniendo Datos de Internet
- Parseo de Datos JSON
- Manejo de Errores de Red
- Usando APIs REST
- Integración con GraphQL
Módulo 7: Persistencia y Almacenamiento
- Introducción a la Persistencia
- Preferencias Compartidas
- Almacenamiento de Archivos
- Base de Datos SQLite
- Usando Hive para Almacenamiento Local
Módulo 8: Conceptos Avanzados de Flutter
- Animaciones en Flutter
- Custom Paint y Canvas
- Canales de Plataforma
- Isolates y Concurrencia
- Optimización de Rendimiento
Módulo 9: Pruebas y Depuración
- Introducción a las Pruebas
- Pruebas Unitarias
- Pruebas de Widgets
- Pruebas de Integración
- Técnicas de Depuración
Módulo 10: Despliegue y Mantenimiento
- Preparación para el Lanzamiento
- Construcción para iOS
- Construcción para Android
- Integración Continua/Despliegue Continuo (CI/CD)
- Mantenimiento y Actualización de Tu App