Android Studio最速入門~効率的にコーディングするための使い方

第35回 バージョン管理 ─プロジェクト管理ファイルについて[後編]

この記事を読むのに必要な時間:およそ 9.5 分

コンパイラの設定(Compiler)

.idea/compiler.xml

(.idea/groovyc.xml, .idea/androidDexCompiler.xml, idea/workspace.xml)

「Preferences / Compiler」以下の設定内容が記録されています。ひどいことに,ここの設定がすべて記録されるわけではありません。大半は .idea/workspace.xml に記録されます。確認した範囲では,.idea/compiler.xmlに保存される設定は以下の通りでした。

  • 「Compiler」「Resource patterns」の内容。
  • 「Compiler / Excludes」のすべての内容。
  • 「Compiler / Java Compiler」のすべての内容。
  • 「Compiler / RMI Compiler」のすべての内容。

それ以外の項目については,以下の通りです。

  • 「Compiler」「Resource patterns」以外の項目は .idea/workspace.xml に記録される。
  • 「Compiler / Groovy Compiler」の内容は .idea/groovyc.xml に記録される。
  • 「Compiler / Gradle」の内容は,.idea/gradle.xml.idea/workspace.xml に記録される。
  • 「Compiler / Android Compilers」の内容は,.idea/androidDexCompiler.xml に記録される。
    • ここにはDEX CompilerやProGuardの設定が含まれていて非常に気になるのですが,実際にビルドしてみても,ここの設定が影響している様子はうかがえませんでした。IntelliJの名残りで残っているだけなのでしょう。
結論

Android Studioのビルドシステムは,Gradleが行っているので「Preferences / Compiler」の設定そのものがそれほど意味を持ちません。よって共有する必要は無いでしょう。

Gradleのオプション設定(⁠⁠Preferences / Compiler / Gradle⁠⁠)は,主に.idea/gradle.xmlに保存されるので,.idea/compiler.xmlを共有しても意味は無いです。ちなみに図3の3つの設定は,.idea/workspace.xmlに保存されるので,そもそも共有できません。

図3 ⁠Preferences / Compiler / Gradle」設定画面

図3 「Preferences / Compiler / Gradle」設定画面

※「Offline mode」はAndroid Studio v0.4.0から追加されました。

コピーライト定義(Copyright)

.idea/copyright/profiles_settings.xml, idea/copyright/<プロファイル名>.xml

第12回で紹介したCopyrightに関する設定が保存されます。設定画面は「Preferences / Copyright」です。

profiles_settings.xmlには現在使用している Copyright のプロファイル名が記録され,個別のCopyrightプロファイルは,このディレクトリに <プロファイル名>.xml で保存されます。当然ですが,Copryrightのプロファイルを削除すれば,ここの設定ファイルも消えて無くなりますprofiles_settings.xmlはずっと残ります⁠⁠。

結論

Copyright機能を使うのであれば,このディレクトリ配下はバージョン管理して共有しましょう。その場合,Copyrightプロファイルは各自が勝手に変更せず,だれか代表者にメンテナンスを任せた方がよいでしょう(個人的にたしなむ程度ならムリに共有する必要もありませんが⁠⁠。

現在使用している Copyrightプロファイルを記録している .idea/copyright/profiles_settings.xmlも共有すべきでしょう。Copyrightを統一したいためにこの機能を使っているのに,個人個人でそのプロファイルが異なったら本末転倒です(意図的に変えたい用事があるならば,話は別です⁠⁠。

Copryright機能を使わないのであれば,バージョン管理する必要はありません。むしろ,Copryrightプラグインそのものを無効にしてもよいでしょう。Copyrightプラグインが無効なら,そもそも設定ファイルは作成されません。

ファイルカラーの設定(File Colors)

.idea/fileColors.xml

これもまだ紹介したことが無い機能ですが,Android Studioは特定のスコープ(Scope)に対して色づけをすることができます。このカラー設定は「Projectツールウィンドウ」やエディタのタブに反映されます。

図4 ⁠Preferences / File Colors」設定画面

図4 「Preferences / File Colors」設定画面

これもコードスタイルやCopyrightなどと同じく,設定内容を共有することができます(⁠⁠Shared colros」に設定したものに限る⁠⁠。カラー設定を一度でも共有すると設定ファイル .idea/fileColors.xml が生成され,以後共有設定がひとつも無くなっても設定ファイルが消えることはありません。

なお「Shared colors」以外のカラー設定(Local colros)は,.idea/workspace.xml に記録されます。

結論

そもそも「Shared Colors」を設定しないと,この設定ファイルはできません。逆説的ですが共有したいから「Shared colors」を設定したのでしょうから,当然このファイルはバージョン管理対象に置き共有すべきでしょう。個人的にファイルカラー設定をしてみたい程度であれば「Local colors」を使いましょう。

個別設定の管理方法と共有方法

コードスタイル,Copyright,ファイルカラーのように,いくつかの設定項目は設定のカタマリに名前を付けて保存することができます。この名前付き設定は,設定項目によって「スキーム」とか「プロファイル」とか呼ばれます(名称は統一されていません⁠⁠。

その情報の保存の仕方も設定項目によってマチマチで,コードスタイルのように「プロジェクト用には1種類だけ」とか,Copyrightのように<プロファイル名>.xmlでそれぞれ保存」と節操がありません。

さらに楽しいことに「ファイルカラー」のように「複数のプロファイルを管理するが,明示的に共有する(Shared)かどうかを指定する」ものもあります。この場合「Sharedなプロファイル」しか.ideaディレクトリに保存されません。

バラエティに富んでいて,ホント楽しいです……。

著者プロフィール

今井勝信(いまいまさのぶ)

システムエンジニア。日本ユニシス株式会社所属。仙台在住。

Android開発はまったくやったことがないけれどIntelliJ IDEAが大好き。

Twitter: @masanobuimai