Template .gitignore do Android explicado
Explica por que o Android.gitignore ignora o cache do Gradle, os resultados de build, local.properties, APK e AAB, .idea, as keystores de assinatura e o google-services.json, e os critérios para decidir.
O Android.gitignore é para projetos de apps criados com Android Studio e Gradle. Bloqueia o cache e os artefatos de build do Gradle, o caminho do SDK que só faz sentido no computador de cada desenvolvedor e arquivos sensíveis como as chaves de assinatura do app.
Ele difere do template JetBrains por ignorar inteiramente a pasta da IDE .idea/. Se você quer compartilhar com a equipe o estilo de código ou as configurações de execução, precisa ajustar essa regra.
Explicação regra por regra
| Padrão | O que ignora e por quê |
|---|---|
.gradle/build/.kotlin/ | Cache e build do GradleSão o cache de tarefas do Gradle, os resultados de build por módulo e os dados do plugin do Kotlin 2.0. Tudo é criado de novo. |
local.properties | Configuração localContém o caminho de instalação do SDK e do NDK do Android (sdk.dir), então o valor muda de pessoa para pessoa. O Android Studio o cria automaticamente. |
.externalNativeBuild/.cxx/ | Build nativoSão pastas intermediárias que surgem ao compilar código C/C++ com CMake ou ndk-build. |
*.apk*.aaboutput-metadata.json | Pacotes do appSão os APKs e App Bundles compilados e seus metadados. São tratados no envio à loja ou no pipeline de distribuição. |
*.iml.idea/misc.xmldeploymentTargetDropDown.xmlrender.experimental.xml | Arquivos da IDESão os arquivos de módulo do Android Studio, a pasta de configuração da IDE e arquivos com estado pessoal, como o dispositivo de destino selecionado. |
*.jks*.keystore | Chaves de assinaturaSão as keystores usadas para assinar o app. Se vazarem, outra pessoa pode distribuir apps com a mesma assinatura, então não vão para o repositório. |
google-services.json | Configuração do Firebase e dos serviços do GoogleContém o identificador do projeto do Firebase e chaves de API. Não é uma chave secreta, mas em repositórios públicos costuma ser excluído, e, se for excluído, é preciso fornecê-lo à parte na CI para que o build funcione. |
captures/*.hprof*.log | Arquivos de diagnósticoSão capturas do profiler, heap dumps e logs. Ocupam muito espaço e são de uso único. |
Cuidados na prática
- Commite
gradlew,gradlew.bategradle/wrapper/. Este template não ignora*.jar, mas, se usá-lo junto com o de Java, coloque o template do Gradle depois para recuperar o jar do wrapper. - Se quiser compartilhar o estilo de código (
.idea/codeStyles/), use as regras detalhadas do template JetBrains em vez de.idea/. - Se sua equipe commita o
google-services.json, apague esta linha. Em qualquer caso, não commite chaves de contas de serviço (JSON).
Template 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
Origem dos templates: github/gitignore/Android.gitignore @356fd7b (2026-09-11) · CC0-1.0