Plantilla .gitignore de Android explicada
Explica por qué Android.gitignore ignora la caché de Gradle, los resultados de compilación, local.properties, APK y AAB, .idea, los almacenes de claves de firma y google-services.json, y los criterios para decidir.
Android.gitignore es para proyectos de apps creados con Android Studio y Gradle. Bloquea la caché y los artefactos de compilación de Gradle, la ruta del SDK que solo tiene sentido en el equipo de cada desarrollador y archivos sensibles como las claves de firma de la app.
Se diferencia de la plantilla JetBrains en que ignora por completo la carpeta del IDE .idea/. Si quieres compartir con el equipo el estilo de código o las configuraciones de ejecución, tendrás que ajustar esta regla.
Explicación regla por regla
| Patrón | Qué ignora y por qué |
|---|---|
.gradle/build/.kotlin/ | Caché y compilación de GradleSon la caché de tareas de Gradle, los resultados de compilación por módulo y los datos del plugin de Kotlin 2.0. Todo se vuelve a crear. |
local.properties | Configuración localContiene la ruta de instalación del SDK y el NDK de Android (sdk.dir), así que el valor cambia según la persona. Android Studio lo crea automáticamente. |
.externalNativeBuild/.cxx/ | Compilación nativaSon carpetas intermedias que aparecen al compilar código C/C++ con CMake o ndk-build. |
*.apk*.aaboutput-metadata.json | Paquetes de la appSon los APK y App Bundle compilados y sus metadatos. Se manejan en la subida a la tienda o en el pipeline de distribución. |
*.iml.idea/misc.xmldeploymentTargetDropDown.xmlrender.experimental.xml | Archivos del IDESon los archivos de módulo de Android Studio, la carpeta de configuración del IDE y archivos con estado personal, como el dispositivo de destino seleccionado. |
*.jks*.keystore | Claves de firmaSon los almacenes de claves usados para firmar la app. Si se filtran, otra persona podría distribuir apps con la misma firma, así que no se meten en el repositorio. |
google-services.json | Configuración de Firebase y servicios de GoogleContiene el identificador del proyecto de Firebase y claves de API. No es una clave secreta, pero en repositorios públicos suele excluirse, y si se excluye hay que proporcionarlo aparte en CI para poder compilar. |
captures/*.hprof*.log | Archivos de diagnósticoSon capturas del profiler, volcados de memoria y registros. Ocupan mucho y son de un solo uso. |
Precauciones en la práctica
- Confirma
gradlew,gradlew.batygradle/wrapper/. Esta plantilla no ignora*.jar, pero si la usas junto con la de Java, coloca la plantilla de Gradle después para recuperar el jar del wrapper. - Si quieres compartir el estilo de código (
.idea/codeStyles/), usa las reglas detalladas de la plantilla JetBrains en lugar de.idea/. - Si tu equipo confirma
google-services.json, borra esta línea. En cualquier caso, no confirmes claves de cuentas de servicio (JSON).
Plantilla original
# Gradle files.gradle/build/.kotlin/# Local configuration file (sdk path, etc)local.properties# Log/OS Files*.log# Android Studio generated files and folderscaptures/.externalNativeBuild/.cxx/*.aab*.apkoutput-metadata.json# IntelliJ*.iml.idea/misc.xmldeploymentTargetDropDown.xmlrender.experimental.xml# Keystore files*.jks*.keystore# Google Services (e.g. APIs or Firebase)google-services.json# Android Profiling*.hprof
Origen de las plantillas: github/gitignore/Android.gitignore @356fd7b (2026-09-11) · CC0-1.0