菜单

Android 开发

相关源文件

目的与范围

本文档提供了有关 Android 特定 gitignore 模式的详细信息,这些模式用于在 Android 开发项目中排除版本控制中不必要的和敏感的文件。它涵盖了 Android gitignore 模板中定义的模式,解释了它们的用途和目标文件类型。有关 iOS 开发 gitignore 模式的信息,请参阅 iOS 开发,有关通用的 JetBrains IDE 模式(Android Studio 基于此),请参阅 JetBrains IDE

Android 开发环境概述

Android 开发通常涉及以下工具和组件,它们会生成各种应从版本控制中排除的文件。

来源: Android.gitignore Global/JetBrains.gitignore

Android Gitignore 模式的关键类别

Android gitignore 模板将排除的文件组织成几个类别

类别目的示例模式
Gradle 构建文件排除构建工件和本地缓存.gradle/, build/
本地配置排除特定于机器的 SDK 路径local.properties
Android Studio 生成的文件排除 IDE 生成的文件captures/, .externalNativeBuild/, .cxx/
IntelliJ/Android Studio 项目文件排除 IDE 项目配置*.iml, .idea/
安全敏感文件排除加密密钥*.jks, *.keystore
Google 服务排除 API 配置google-services.json
性能分析数据排除性能剖析*.hprof

来源: Android.gitignore

详细的模式分析

Gradle 构建系统文件

Gradle 构建系统会生成大量文件,这些文件应从版本控制中排除。

  • .gradle/ Android.gitignore2: 包含 Gradle 依赖缓存、构建缓存和其他临时文件的目录
  • build/ Android.gitignore3: 包含所有构建输出的目录,包括编译后的代码、处理过的资源和 APK 文件

这些目录可能会变得非常大,并且包含特定于机器的信息。排除它们可以确保存储库干净,并防止多个开发人员协作时出现冲突。

来源: Android.gitignore2-3

本地配置项

Android Studio 会生成包含特定于机器的路径的配置文件。

此文件由 Android Studio 根据当前机器的 SDK 位置自动生成。将其包含在版本控制中会导致拥有不同 SDK 安装的其他开发人员产生冲突。

来源: Android.gitignore6

Android Studio 生成的文件

Android Studio 在开发过程中会生成几个目录和文件。

这些文件要么是大型二进制文件,要么可以从源代码重新生成,因此不适合进行版本控制。

来源: Android.gitignore12-16

IntelliJ/Android Studio 项目文件

由于 Android Studio 基于 IntelliJ IDEA,因此需要排除许多特定于 IDE 的文件。

这些文件包含用户特定的设置和缓存信息,不应在开发者之间共享。

Android gitignore 模板包含 JetBrains gitignore 模板中的一部分模式,主要关注与 Android 开发最相关的模式。

来源: Android.gitignore19-23 Global/JetBrains.gitignore

安全敏感文件

Android 开发涉及多个安全敏感文件,这些文件绝不应提交到版本控制中。

将这些文件暴露在仓库中可能会导致安全漏洞,因为它们包含敏感凭据,如果被未经授权的方访问,可能会被滥用。

来源: Android.gitignore26-27 Android.gitignore30

性能分析和调试文件

这些文件可能非常大,并且特定于调试会话,因此不适合版本控制。

来源: Android.gitignore33

与 JetBrains Gitignore 集成

Android Studio 基于 IntelliJ IDEA,因此 Android gitignore 模板和 JetBrains gitignore 模板之间存在一些重叠。Android 模板包含最关键的 IntelliJ 模式,但要更全面地排除 IDE 文件,您可以考虑结合使用这两个模板。

Android 模板中包含的关键 JetBrains 模式

JetBrains 模板中的其他可能相关的模式

来源: Android.gitignore19-20 Global/JetBrains.gitignore

Android Gitignore 的最佳实践

在处理 Android 项目时,请考虑以下 gitignore 最佳实践:

  1. 使用标准模板开始:将官方 Android gitignore 模板作为基础
  2. 为您的项目定制:根据您使用的库和工具添加项目特定的模式
  3. 考虑合并模板:对于 Android Studio 项目,考虑合并 Android 和 JetBrains 模板
  4. 将敏感信息分开存放:使用环境变量或安全的密钥管理系统来管理 API 密钥
  5. 定期审查排除的文件:随着项目的演进,请审查哪些文件应被排除

常见定制

根据您的 Android 项目的具体需求,您可能需要添加其他模式,例如:

附加组件要添加的模式
Firebasegoogle-services.jsonfirebase_options.dart
地图 API任何包含 API 密钥的文件
分析跟踪配置文件
CI/CD构建脚本输出和配置

来源: Android.gitignore Global/JetBrains.gitignore

结论

Android gitignore 模板提供了排除构建产物、IDE 特定文件、安全敏感信息和调试数据不被版本控制的关键模式。通过将此模板作为起点并根据项目的具体需求进行定制,您可以维护一个干净的、专注于源代码的仓库,而不是包含生成的文件和特定于机器的配置。