En este módulo, aprenderás cómo preparar tu aplicación Flutter para su lanzamiento en las tiendas de aplicaciones, tanto para iOS como para Android. Este proceso incluye la configuración de la aplicación, la optimización del rendimiento, la gestión de permisos y la creación de los archivos necesarios para la distribución.
- Configuración de la Aplicación
1.1. Configuración del Nombre y el Icono de la Aplicación
Cambiar el Nombre de la Aplicación
Para cambiar el nombre de la aplicación, debes modificar el archivo pubspec.yaml
:
Cambiar el Icono de la Aplicación
Para cambiar el icono de la aplicación, puedes usar el paquete flutter_launcher_icons
. Añade la dependencia en tu archivo pubspec.yaml
:
dev_dependencies: flutter_launcher_icons: ^0.9.2 flutter_icons: android: true ios: true image_path: "assets/icon/icon.png"
Luego, ejecuta el siguiente comando en tu terminal:
1.2. Configuración de Permisos
Permisos en Android
Para configurar los permisos en Android, edita el archivo AndroidManifest.xml
ubicado en android/app/src/main/AndroidManifest.xml
:
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.tu_app"> <uses-permission android:name="android.permission.INTERNET"/> <!-- Otros permisos necesarios --> <application android:label="tu_app" android:icon="@mipmap/ic_launcher"> <activity android:name=".MainActivity" android:launchMode="singleTop" android:theme="@style/LaunchTheme" android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|screenLayout|density|layoutDirection|fontScale|locale|uiMode|screenLayout|screenSize|smallestScreenSize" android:hardwareAccelerated="true" android:windowSoftInputMode="adjustResize"> <meta-data android:name="io.flutter.embedding.android.NormalTheme" android:resource="@style/NormalTheme" /> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity> </application> </manifest>
Permisos en iOS
Para configurar los permisos en iOS, edita el archivo Info.plist
ubicado en ios/Runner/Info.plist
:
<key>NSAppTransportSecurity</key> <dict> <key>NSAllowsArbitraryLoads</key> <true/> </dict> <key>NSCameraUsageDescription</key> <string>Necesitamos acceso a la cámara para...</string> <!-- Otros permisos necesarios -->
- Optimización del Rendimiento
2.1. Minificación y Obfuscación
Para reducir el tamaño de tu aplicación y proteger tu código, puedes habilitar la minificación y la ofuscación.
Android
Edita el archivo build.gradle
ubicado en android/app/build.gradle
:
buildTypes { release { // Habilitar la minificación y la ofuscación minifyEnabled true shrinkResources true proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } }
iOS
Para iOS, la minificación y la ofuscación no son necesarias ya que el código Swift/Objective-C no se distribuye en forma legible.
2.2. Reducción del Tamaño de la Aplicación
Para reducir el tamaño de tu aplicación, puedes eliminar recursos no utilizados y habilitar la compresión de imágenes.
Eliminación de Recursos No Utilizados
Usa el comando flutter build apk --split-per-abi
para generar APKs específicos para cada arquitectura, reduciendo el tamaño del archivo:
Compresión de Imágenes
Usa herramientas como pngcrush
o optipng
para comprimir las imágenes en tu aplicación.
- Creación de Archivos de Distribución
3.1. Generar el APK para Android
Para generar el APK de tu aplicación, usa el siguiente comando:
El archivo APK se generará en build/app/outputs/flutter-apk/app-release.apk
.
3.2. Generar el IPA para iOS
Para generar el archivo IPA para iOS, sigue estos pasos:
- Abre el proyecto en Xcode (
ios/Runner.xcworkspace
). - Selecciona el destino de tu dispositivo o simulador.
- Ve a
Product > Archive
. - Una vez completado el proceso de archivado, selecciona
Distribute App
.
- Publicación en las Tiendas de Aplicaciones
4.1. Publicación en Google Play Store
- Crea una cuenta de desarrollador en Google Play Console.
- Sube el archivo APK generado.
- Completa la información de la aplicación (descripción, capturas de pantalla, etc.).
- Configura la política de privacidad y los permisos.
- Envía la aplicación para revisión.
4.2. Publicación en Apple App Store
- Crea una cuenta de desarrollador en Apple Developer.
- Sube el archivo IPA generado usando
App Store Connect
. - Completa la información de la aplicación (descripción, capturas de pantalla, etc.).
- Configura la política de privacidad y los permisos.
- Envía la aplicación para revisión.
Conclusión
En esta sección, has aprendido cómo preparar tu aplicación Flutter para su lanzamiento en las tiendas de aplicaciones. Esto incluye la configuración del nombre y el icono de la aplicación, la gestión de permisos, la optimización del rendimiento y la creación de los archivos necesarios para la distribución. Además, has visto cómo publicar tu aplicación en Google Play Store y Apple App Store. Con estos conocimientos, estarás listo para llevar tu aplicación al siguiente nivel y compartirla con el mundo.
En el próximo módulo, aprenderás cómo construir tu aplicación para iOS y Android, asegurándote de que funcione perfectamente en ambas plataformas.
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