Android Studio の .gitignore 設定

Android Studio と Gradle ベースの Android プロジェクト向けの適切な .gitignore。ビルド出力、local.properties、APK ファイル、生成されたソースコードを網羅します。

Framework

詳細な説明

Android Studio と Gradle で構築される Android プロジェクトは、大量のビルドアーティファクト、IDE メタデータ、ローカル設定ファイルを生成します。正しい .gitignore でリポジトリの肥大化とマシン固有のパス問題を防ぎます。

Gradle ビルド出力:

  • build/ — 各モジュールのコンパイル済み出力、生成されたリソース、パッケージ化された APK/AAB ファイル。ルートレベルの /build/ とモジュールレベルの */build/ の全レベルで無視します。
  • .gradle/ — Gradle のプロジェクトごとのキャッシュ。タスク履歴やファイルスナップショットを含みます。

ローカル設定:

  • local.propertiessdk.dir=/path/to/Android/Sdk を含みます。このパスは開発者のマシンごとに異なります(macOS vs Linux vs Windows)。プロジェクトインポート時に Android Studio が生成します。このファイルは決してコミットしないでください。
  • *.propertiesgradle.properties を除く) — 一部のプロパティファイルには署名認証情報が含まれます。どの .properties ファイルをコミットするかは選択的に判断してください。

Android Studio / IntelliJ パターン:

  • .idea/ — IDE 設定(詳細は IntelliJ セクションを参照)。
  • *.iml — ローカル SDK と依存パスを含むモジュールファイル。
  • .idea/workspace.xml — セッションごとに変更されるユーザー固有のワークスペース状態。

ビルドアーティファクト:

  • *.apk — Android アプリケーションパッケージ。CI でビルドし、Play Store や Firebase App Distribution で配布すべきです。
  • *.aab — Android App Bundle(Google Play が要求する最新の配布形式)。
  • *.ap_ — ビルド中に生成されるパッケージ化されたリソースファイル。
  • *.dex — Android ランタイム用にコンパイルされた Dalvik バイトコード。

署名とセキュリティ:

  • *.jks*.keystore — 秘密鍵を含む署名キーストア。Git はこれらの保管場所として適切ではありません。キーストアはセキュアなボールト(1Password、HashiCorp Vault、または CI プロバイダーのシークレット)に保存してください。
  • signing.properties — キーストアパスワードとエイリアス設定。

コミットすべきもの: gradle/wrapper/gradle-wrapper.jargradle/wrapper/gradle-wrapper.propertiesgradlewgradlew.batgradle.properties(機密性のない JVM 引数を含む)。これらにより、グローバルインストールなしで全員が同じ Gradle バージョンを使用できます。

ユースケース

新しい開発者をオンボーディングする Android チームが、local.properties とビルドディレクトリがコミットされ続けており、異なるオペレーティングシステムで SDK パスエラーが発生しています。

試してみる — .gitignore Generator

フルツールを開く