Tener una aplicación funcional en Flutter es solo la mitad del camino. Para que los usuarios puedan instalarla en sus dispositivos Android, necesitas generar un archivo APK correctamente configurado. Aquí se explican los pasos esenciales: desde ajustar el archivo de configuración de Gradle hasta otorgar permisos de Internet en el manifiesto de Android, pasando por el comando exacto para compilar tu APK en modo release.
¿Qué cambios necesitas en el archivo build.gradle antes de compilar?
Antes de generar la APK, es necesario modificar el archivo build.gradle ubicado en la ruta android/app/. Este archivo controla las versiones de compilación y las optimizaciones de tu aplicación [00:24].
Los ajustes principales son:
- compileSdkVersion: se establece en 34, correspondiente a la versión 8.1 de las herramientas de Android.
- minSdkVersion: se fija en 21, lo que significa que tu app será compatible desde Android 5.0 en adelante [01:02].
- targetSdkVersion: apunta a Android 13, indicando para qué versión está diseñada la app.
- versionCode: se coloca en 1 como versión interna inicial.
- versionName: se define como
1.0, representando el nombre visible de la versión.
Cada vez que generes una nueva APK para distribución, lo ideal es incrementar estos valores de versión para llevar un control adecuado.
¿Cómo reducir el peso de tu aplicación?
Dentro del mismo archivo build.gradle puedes activar dos propiedades que hacen tu app más liviana [01:39]:
- minifyEnabled en
true: minifica y optimiza los archivos del proyecto.
- shrinkResources en
true: elimina automáticamente los recursos que no se estén utilizando.
Estas dos opciones trabajan juntas para que el APK final tenga el menor tamaño posible, algo fundamental si planeas distribuirla a usuarios reales.
¿Cómo generar el APK con el comando de Flutter?
Una vez configurado el build.gradle y agregadas las dependencias necesarias, abre la terminal y ejecuta el siguiente comando [02:18]:
bash
flutter build apk --release
El flag --release indica que la compilación será optimizada para producción, sin herramientas de depuración. Al finalizar el proceso, la terminal mostrará la ubicación exacta del archivo APK generado, que típicamente se encuentra en:
build/app/outputs/flutter-apk/app-release.apk
Este es el archivo que necesitas transferir a cualquier dispositivo Android para instalar tu aplicación.
¿Por qué tu APK necesita permisos de Internet y cómo configurarlos?
Si tu aplicación consume una API externa, como en el caso de esta app de recetas, el APK no funcionará correctamente sin permisos de Internet explícitos [02:56]. Estos se configuran en el archivo AndroidManifest.xml, ubicado en android/app/src/main/.
Debes agregar dos configuraciones clave:
xml
<uses-permission android:name="android.permission.INTERNET" />
Esta línea otorga permiso para que la app acceda a Internet desde el dispositivo [03:24].
Además, para permitir que la app consuma URLs que no usen HTTPS, se agrega el atributo usesCleartextTraffic dentro de la etiqueta <application> [03:48]:
xml
android:usesCleartextTraffic="true"
Después de guardar el manifiesto, debes volver a ejecutar el comando flutter build apk --release para que la nueva APK incluya estos permisos.
¿Cómo instalar la APK en un dispositivo Android?
Para transferir el archivo puedes usar cualquier herramienta: Google Drive, cable USB o servicios de almacenamiento en la nube [04:17]. Sin embargo, hay un detalle importante: dado que la app no proviene de la Play Store, el dispositivo debe tener habilitada la opción de orígenes desconocidos en la configuración de seguridad.
Una vez instalada, la aplicación funciona exactamente como en el emulador: puedes listar recetas, ver el detalle, agregar a favoritos y acceder al formulario [04:36].
¿Ya lograste generar tu APK o tienes dudas sobre algún paso de la configuración? Comparte tu experiencia en los comentarios.