プロジェクト

全般

プロフィール

Android Studioのバージョン管理対象ファイル

はじめに

複数開発者が共同で開発するときの構成管理を想定し、Android Studioのプロジェクトで、どのファイルを構成管理対象とすべきかを調べました。
Android Studioで新規プロジェクトを作成すると、.gitignoreファイルが生成されますが、それについて過不足があるかを含めて調べていきます。

結論

Gradleの設定ファイルを管理対象とし、Android Studioの設定ファイルは管理対象としないのがトラブル回避にもっとも有効です。
この場合、リポジトリからチェックアウトしたら、GradleプロジェクトからインポートでAndroid Studioプロジェクトを都度作成します。

Gradle設定のみを共有する.gitignoreのテンプレート

.gradle/
local.properties

# IntelliJ IDEA project files
.idea/
*.ipr
*.iml

build/

.DS_Store
/captures

Android Studioのプロジェクト管理ファイル

.ideaディレクトリ

Android Studioのプロジェクトとして認識されるのはこの.ideaディレクトリの存在です。

まとめ

  • 必須ファイル
    gradle.xml
  • 共有してはいけないファイル
    workspace.xml
    tasks.xml
  • 共有しないほうがよいファイル
    dictionary/
    *.iml
    modules.xml

モジュール定義ファイル(*.iml)

build.gradleから生成できる二次管理情報なのでバージョン管理しなくてよいようです。
*.imlを削除するときは、modules.xmlも合わせて削除するべき

Android Studioの生成する.gitignore

Android Studio 1.2.1.1で新規プロジェクトを作成

Android Studioで新規プロジェクトを作成すると、次の場所に.gitignoreが生成されます。

MyApp
  +-- .gitignore
  +-- app/
  |     +-- .gitignore
  • トップレベルの.gitignore
    .gradle
    /local.properties
    /.idea/workspace.xml
    /.idea/libraries
    .DS_Store
    /build
    /captures
    
  • app/.gitignore
    /build
    

情報収集

お勧め設定

.idea/.gitignore を作る例あり

*.xml

!/codeStyleSettings.xml
!/copyright/*.xml
!/fileColors.xml
!/encodings.xml
!/gradle.xml
!/runConfigurations/*.xml

!/inspectionProfiles/*.xml
/inspectionProfiles/profiles_settings.xml

!/scopes/*.xml
/scopes/scope_settings.xml

!/templateLanguages.xml
!/vcs.xml

gradle.propertiesは構成管理下におかない

クリップボードから画像を追加 (サイズの上限: 1 GB)