Qué es Gradle
Gradle es el sistema de build que toma tu código fuente, resuelve dependencias, ejecuta tareas y termina produciendo artefactos como APKs, AABs, reportes de tests o archivos intermedios de compilación.
En Android no lo usás “solo”. Lo usás junto con el Android Gradle Plugin (AGP), que agrega conceptos propios de la plataforma como módulos Android, build types, product flavors, variantes, signing y tasks específicas del ecosistema.
Archivos clave
Un proyecto Android moderno suele apoyarse en estos archivos:
settings.gradle.ktsdefine qué módulos forman parte del build.build.gradle.ktsen raíz concentra configuración compartida o plugins comunes.app/build.gradle.ktsdefine el módulo principal Android.gradle.propertiesguarda flags y propiedades del build.gradle/wrapper/fija la versión de Gradle que el proyecto usará.
// settings.gradle.kts
rootProject.name = "MiApp"
include(":app")
include(":core:ui")
include(":feature:login")
Idea importanteEl archivo más subestimado suele ser settings.gradle.kts. Ahí no solo definís módulos: también fuentes de plugins, repositorios y reglas globales del build.
Android Gradle Plugin
El AGP es el puente entre Gradle y Android. Sin él, Gradle sabe compilar cosas; con él, entiende qué significa compilar una aplicación Android, procesar recursos, generar BuildConfig, manejar manifests fusionados y empaquetar una app.
plugins {
id("com.android.application")
id("org.jetbrains.kotlin.android")
}
android {
namespace = "ar.pensa.miapp"
compileSdk = 35
defaultConfig {
applicationId = "ar.pensa.miapp"
minSdk = 24
targetSdk = 35
versionCode = 1
versionName = "1.0"
}
}
Modelo mental correcto
El mejor modelo mental no es pensar en “archivos mágicos”, sino en capas de configuración. Primero Gradle arranca, luego lee settings, después carga plugins, configura módulos y recién al final ejecuta tasks concretas.
AtenciónMuchos problemas de Gradle nacen de mezclar configuración con ejecución. Si metés lógica pesada durante la fase de configuración, el build se vuelve más lento aunque no corras todas las tasks.
Cierre
Si entendés qué hace cada archivo base y qué rol cumple el AGP, ya dejás de ver Gradle como “una caja negra que a veces rompe el proyecto”. En la próxima lección vamos a bajar un nivel más: plugins, tasks y ciclo de build.