Android Studio 项目的 .gitignore 应该怎么写

Android Studio 项目的 .gitignore 核心项:.gradle/、build/、local.properties、.idea/(或按需保留部分)、.iml、.keystore 签名文件、.apk/aab 产物、.cxx/、captures/。直接套用 GitHub 官方 Android 模板最稳妥。

最佳实践
Git 分支协作与合并示意

直接以 GitHub 官方的 Android .gitignore 模板为基础即可,核心思想:排除构建产物、本地环境配置、IDE 个人设置、签名密钥——这些要么每个人机器上不同,要么根本不该进版本库。

推荐模板

# Gradle 与构建产物
.gradle/
build/
*/build/
.cxx/
*.apk
*.aab
*.ap_

# 本地配置(含 SDK 路径,每人不同)
local.properties

# Android Studio / IntelliJ
.idea/
*.iml
*.iws
*.ipr
.navigation/
captures/

# 签名密钥(绝不能进仓库!)
*.keystore
*.jks
*.pem
key.properties

# 系统文件
.DS_Store
Thumbs.db

# 其他
*.log
.externalNativeBuild/

关于 .idea/ 的争议

两派做法:

  • 全部忽略(上面模板的做法):个人配置不进仓库,最干净;
  • 部分保留:有些团队会提交 .idea/codeStyles/、.idea/inspectionProfiles/ 统一代码风格,忽略其余。

选哪种都可以,团队统一即可。新项目建议全忽略,代码风格用 ktlint/detekt 配置文件承载更可靠。

特别提醒

  • 签名文件绝不能提交:keystore 泄露等于应用身份泄露。用 CI 的 secrets 管理签名材料;
  • google-services.json:Firebase 配置文件,多数团队选择提交(其 API key 设计为公开),安全要求高的项目用 CI 注入;
  • 已误提交的文件记得 git rm --cached 后再补 gitignore。

常见问题(FAQ)

Q:模板从哪里来最权威?

GitHub 的 github/gitignore 仓库维护各语言模板,新建仓库时选择 "Add .gitignore: Android" 自动生成;gitignore.io 网站也可组合多个技术栈生成。

Q:local.properties 为什么必须忽略?

它记录你本机 Android SDK 的绝对路径,换台机器就是错的;SDK 路径应交给 ANDROID_HOME 环境变量。

Q:library 模块和 app 模块的 gitignore 要分开吗?

不需要。根目录一份 .gitignore 即可覆盖所有模块(build/ 模式会匹配任意层级的 build 目录)。

参考资料

获取专属方案

联系我们

加入社区

微信扫码
加入官方交流群

立即体验

在线开通,按量计费,真正的云服务!

立即开始

选择观测云版本

代码托管平台