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.properties—sdk.dir=/path/to/Android/Sdkを含みます。このパスは開発者のマシンごとに異なります(macOS vs Linux vs Windows)。プロジェクトインポート時に Android Studio が生成します。このファイルは決してコミットしないでください。*.properties(gradle.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.jar、gradle/wrapper/gradle-wrapper.properties、gradlew、gradlew.bat、gradle.properties(機密性のない JVM 引数を含む)。これらにより、グローバルインストールなしで全員が同じ Gradle バージョンを使用できます。
ユースケース
新しい開発者をオンボーディングする Android チームが、local.properties とビルドディレクトリがコミットされ続けており、異なるオペレーティングシステムで SDK パスエラーが発生しています。