github/gitignore · Android.gitignore
Android .gitignore 模板详解
说明 Android.gitignore 忽略 Gradle 缓存、构建结果、local.properties、APK 与 AAB、.idea、签名密钥库和 google-services.json 的原因及判断标准。
Android.gitignore 面向用 Android Studio 和 Gradle 开发的应用项目。它拦截 Gradle 构建缓存与产物、只对开发者本机有意义的 SDK 路径,以及应用签名密钥等敏感文件。
它整体忽略 IDE 目录 .idea/,这一点与 JetBrains 模板不同。如果想与团队共享代码风格或运行配置,需要调整这条规则。
逐条规则详解
| 模式 | 忽略什么,为什么忽略 |
|---|---|
.gradle/build/.kotlin/ | Gradle 缓存与构建Gradle 任务缓存、各模块的构建结果以及 Kotlin 2.0 插件数据。都会重新生成。 |
local.properties | 本地设置其中包含 Android SDK、NDK 的安装路径(sdk.dir),每个人的值都不同。由 Android Studio 自动生成。 |
.externalNativeBuild/.cxx/ | 原生构建用 CMake、ndk-build 构建 C/C++ 代码时生成的中间目录。 |
*.apk*.aaboutput-metadata.json | 应用包构建出的 APK、App Bundle 及其元数据。在商店上传或部署流水线中处理。 |
*.iml.idea/misc.xmldeploymentTargetDropDown.xmlrender.experimental.xml | IDE 文件Android Studio 模块文件、IDE 设置目录,以及所选部署目标设备等包含个人状态的文件。 |
*.jks*.keystore | 签名密钥用于应用签名的密钥库。一旦泄露,他人就能以相同签名发布应用,因此不要放进仓库。 |
google-services.json | Firebase 与 Google 服务配置其中包含 Firebase 项目标识符和 API 密钥。它不是私钥,但公开仓库通常会排除它;排除后需要在 CI 中另行提供才能构建。 |
captures/*.hprof*.log | 诊断文件性能分析器捕获、堆转储和日志。体积大,且是一次性的。 |
实践中的注意事项
- 提交
gradlew、gradlew.bat、gradle/wrapper/。此模板不忽略*.jar,但如果与 Java 模板一起使用,请把 Gradle 模板放在后面以保留包装器 jar。 - 如果想共享代码风格(
.idea/codeStyles/),请使用 JetBrains 模板中更细分的规则来代替.idea/。 - 如果团队会提交
google-services.json,请删除这一行。无论哪种情况,都不要提交服务账号密钥(JSON)。
原始模板
Android.gitignore
# 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
模板来源: github/gitignore/Android.gitignore @356fd7b (2026-09-11) · CC0-1.0