Modèle .gitignore Android expliqué
Explique pourquoi Android.gitignore ignore le cache Gradle, les résultats de build, local.properties, les APK·AAB, .idea, le keystore de signature et google-services.json, avec des critères de décision.
Android.gitignore est destiné aux projets d'application créés avec Android Studio et Gradle. Il bloque le cache et les artefacts de build Gradle, le chemin du SDK qui n'a de sens que sur la machine du développeur, et les fichiers sensibles comme la clé de signature de l'application.
Il diffère du modèle JetBrains en ignorant entièrement le dossier d'IDE .idea/. Pour partager le style de code ou les configurations d'exécution avec l'équipe, il faut adapter cette règle.
Explication règle par règle
| Motif | Ce qui est ignoré et pourquoi |
|---|---|
.gradle/build/.kotlin/ | Cache et build GradleCache des tâches Gradle, résultats de build par module et données du plugin Kotlin 2.0. Tout est recréé. |
local.properties | Réglages locauxContient le chemin d'installation du SDK et du NDK Android (sdk.dir), dont la valeur diffère selon la personne. Android Studio le crée automatiquement. |
.externalNativeBuild/.cxx/ | Build natifDossiers intermédiaires créés lors du build de code C/C++ avec CMake ou ndk-build. |
*.apk*.aaboutput-metadata.json | Paquets d'applicationAPK et App Bundle compilés et leurs métadonnées. Ils relèvent de l'envoi au store ou du pipeline de déploiement. |
*.iml.idea/misc.xmldeploymentTargetDropDown.xmlrender.experimental.xml | Fichiers d'IDEFichiers de module Android Studio, dossier de réglages de l'IDE et fichiers contenant un état personnel, comme l'appareil cible de déploiement sélectionné. |
*.jks*.keystore | Clés de signatureKeystore servant à signer l'application. En cas de fuite, quelqu'un d'autre pourrait distribuer une application avec la même signature : il ne doit pas aller dans le dépôt. |
google-services.json | Configuration Firebase·services GoogleContient l'identifiant du projet Firebase et une clé d'API. Ce n'est pas une clé secrète, mais on l'exclut souvent des dépôts publics ; dans ce cas, il faut l'injecter séparément en CI pour que le build fonctionne. |
captures/*.hprof*.log | Fichiers de diagnosticCaptures du profileur, dumps de tas et logs. Volumineux et ponctuels. |
Points d'attention en pratique
- Commitez
gradlew,gradlew.batetgradle/wrapper/. Ce modèle n'ignore pas*.jar, mais si vous l'utilisez avec le modèle Java, placez le modèle Gradle après pour préserver le jar du wrapper. - Pour partager le style de code (
.idea/codeStyles/), utilisez les règles détaillées du modèle JetBrains au lieu de.idea/. - Si votre équipe commite
google-services.json, supprimez cette ligne. Dans tous les cas, ne commitez pas la clé de compte de service (JSON).
Modèle d'origine
# 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
Source des modèles : github/gitignore/Android.gitignore @356fd7b (2026-09-11) · CC0-1.0