Los Product Flavors permiten crear varias versiones de
una misma aplicación usando un solo proyecto.
Ejemplo:
free
proCada flavor puede tener:
- Nombre distinto
- Ícono distinto
applicationIddistinto- Backend distinto
- Colores distintos
- Funciones distintas
- Publicación distinta en Play Store
Conceptos importantes
Build Type
Define cómo funciona técnicamente la app. Android por defecto crea:
debug
releaseDebug: Usado para desarrollo y pruebas. Release: Usado para producción y publicar en Play Store.
Product Flavor
Define qué producto o variante estás creando. Ejemplo:
free
proBuild Variants
Android combina:
Product Flavor + Build Type
Ejemplo:
Build Types
debug
releaseFlavors
free
proResultado final:
- Free Debug
- Free Release
- Pro Debug
- Pro Release
Caso real aplicado (App Anibal Linux)
Disponible en Play Store: AnibalLinux La idea es reutilizar un solo proyecto para crear múltiples apps.
Ejemplo:
- Anibal Linux
- Pepe Linux
- Aji de Gallina
Todas usando el mismo código base.
Configuración de Product Flavors
Dentro de build.gradle.kts podemos configurar los
flavors
android {
flavorDimensions += listOf("brand")
productFlavors {
create("anibal") {
dimension = "brand"
resValue("string", "app_name", "Anibal Linux")
resValue("string", "name", "ANIBAL")
}
create("pepe") {
dimension = "brand"
applicationId = "com.anibalcopitan.pepelinux"
resValue("string", "app_name", "Pepe Linux")
resValue("string", "name", "PEPE")
}
create("ajidegallina") {
dimension = "brand"
applicationId = "com.anibalcopitan.ajidegallina"
resValue("string", "app_name", "Aji de Gallina")
resValue("string", "name", "Ajisito")
}
}
}Explicación rápida del código
flavorDimensions
flavorDimensions += listOf("brand")Agrupa los flavors por categorías. En este caso:
brand
porque estamos creando distintas marcas o productos.
create(“nombreFlavor”)
create("pepe")Crea un nuevo flavor llamado:
pepe
applicationId
applicationId = "com.anibalcopitan.pepelinux"Permite que Android vea la app como una aplicación diferente.
Importante: cada app publicada en Play Store necesita un
applicationId único.
resValue
resValue("string", "app_name", "Pepe Linux")Crea valores dinámicos para cada flavor. Ejemplo:
Nombre distinto
Textos distintos
Configuraciones distintas
Sincronizar el proyecto
Después de modificar:
build.gradle.kts
debes sincronizar el proyecto. Android Studio mostrará:
Sync Now
Haz clic para que Android cree automáticamente los nuevos Build Variants.
Ejecutar los flavors
Después del Sync aparecerán los nuevos variants:
Ahora podrás instalar:
- anibalDebug
- anibalRelease
- pepeDebug
- pepeRelease
- ajidegallinaDebug
- ajidegallinaRelease
en:
- Emulador Android
- Celular físico
Ventajas reales de Product Flavors
- Reutilizar código: Un solo proyecto puede generar muchas apps.
- Menor mantenimiento: Actualizas un solo proyecto y todas las apps reciben mejoras.
- Escalable: Ideal para:
- Apps SaaS
- Apps para clientes
- White label apps
- Apps corporativas
- Productos personalizados
- Más rentable: Puedes vender múltiples productos usando una sola base de código.
Conclusión
Con Product Flavors puedes:
- Crear múltiples apps
- Reutilizar código
- Reducir costos
- Escalar más rápido
- Mantener un solo proyecto profesional
Así trabajan muchas apps Android profesionales actualmente.
Autor: Anibal Copitan ( Contactar con Anibal Copitan )








No hay comentarios:
Publicar un comentario