Si desarrollas apps Android y no usas BuildConfig, estás a ciegas. Este post explica qué es, para qué sirve y cómo usarlo
bien.
Qué es BuildConfig y para qué sirve
BuildConfig es una clase generada automáticamente por
Gradle en cada compilación. Contiene información del build:
- Tipo (
debugorelease) - Versión
- Application ID
- Flags de entorno
Usos reales:
- Activar logs solo en debug
- Cambiar endpoints (dev / prod)
- Habilitar features internas
- Evitar código inseguro en producción
if (BuildConfig.DEBUG) {
Log.d("DEBUG", "Solo visible en desarrollo")
}Qué contiene BuildConfig
| Variable | Uso |
|---|---|
| DEBUG | Detecta modo debug |
| APPLICATION_ID | Package name |
| BUILD_TYPE | debug / release |
| VERSION_CODE | Versión interna |
| VERSION_NAME | Versión pública |
Dónde se genera BuildConfig
Gradle crea una clase similar a esta:
public final class BuildConfig {
public static final boolean DEBUG = true;
public static final String APPLICATION_ID = "com.anibalcopitan.app";
}Nunca la edites a mano.
Como activar BuildConfig desde Gradle
1. Asegúrate de que está habilitado (Android Gradle Plugin nuevo)
En tu build.gradle (Module: app): 👉
Kotlin DSL (build.gradle.kts)
android {
buildFeatures {
buildConfig = true
}
}Si no haces esto → BuildConfig no existe ❌ (error muy
frecuente y común)
2. Agregar variables personalizadas (lo más común)
Ejemplo: en build.gradle.kts
defaultConfig {
buildConfigField "String", "BASE_URL", "\"https://api.midominio.com\""
buildConfigField "Boolean", "DEBUG_LOG", "true"
}Luego en Kotlin: en tu codigo
BuildConfig.BASE_URL
BuildConfig.DEBUG_LOG3. Por flavor o por buildType (nivel pro)
buildTypes {
debug {
buildConfigField "Boolean", "LOGS", "true"
}
release {
buildConfigField "Boolean", "LOGS", "false"
}
}4. Si Android Studio “no lo reconoce”
Haz esto en orden:
- Sync Gradle
- Build → Clean Project
- Build → Rebuild Project
- Invalidar caché (último recurso)
En Video corto
Conclusión
BuildConfig te permite controlar el entorno de
ejecución. Es base de cualquier app Android profesional.
No hay comentarios:
Publicar un comentario