Android Studioで作成したプロジェクトのファイル構成をまとめました。
Table of Contents
1 必要最低限の構成
以下の必要最低限の構成を用いると、Android Studioでビルドすることができます。
ただし、"Open an existing Android Studio project"を用いた初期化が必要となります。
存在しないファイルやディレクトリはAndroid Studioが自動生成します。
. ├── .gitignore ├── app │ ├── .gitignore │ ├── build.gradle │ ├── proguard-rules.pro │ └── src │ ├── androidTest │ │ └── java │ │ └── com │ │ └── hiroom2 │ │ └── myapplication │ │ └── ApplicationTest.java │ └── main │ ├── AndroidManifest.xml │ ├── java │ │ └── com │ │ └── hiroom2 │ │ └── myapplication │ │ └── MainActivity.java │ └── res │ ├── layout │ │ └── activity_main.xml │ ├── menu │ │ └── menu_main.xml │ ├── mipmap-hdpi │ │ └── ic_launcher.png │ ├── mipmap-mdpi │ │ └── ic_launcher.png │ ├── mipmap-xhdpi │ │ └── ic_launcher.png │ ├── mipmap-xxhdpi │ │ └── ic_launcher.png │ ├── values │ │ ├── dimens.xml │ │ ├── strings.xml │ │ └── styles.xml │ ├── values-v21 │ │ └── styles.xml │ └── values-w820dp │ └── dimens.xml ├── build.gradle ├── gradle.properties ├── gradlew ├── gradlew.bat └── settings.gradle 22 directories, 23 files
1.1 buildディレクトリ、app/buildディレクトリ
コンパイルされた成果物が格納されます。
リポジトリに追加しないでおきましょう。
2 トップディレクトリ
.gitignore | Android Studioが提供する.gitignore |
app | モジュールのディレクトリ |
build.gradle | Gradleによるビルドスクリプトの本体 |
gradle.properties | Gradleの並列実行等を制御 |
gradlew | GradleのUnix/Linux向けラッパースクリプト |
gradlew.bat | GradleのWindows向けバッチファイル |
settings.gradle | Gradleの起動時に読み込まれるビルドスクリプト |
2.1 トップディレクトリの.gitignoreについて
Android Studioが提供する.gitignoreは以下の通りです。
.gradle /local.properties /.idea/workspace.xml /.idea/libraries .DS_Store /build /captures
私は以下のように変更しています。
.gradle /local.properties /.idea/workspace.xml /.idea/libraries .DS_Store /build /captures /.idea/vcs.xml /.idea/.name
*.iml
.idea/vcs.xmlはリポジトリからソースコードを追加してプロジェクトを作成した時にダイアログが表示されて設定できます。
.nameにプロジェクト名が記載されます。.nameがない場合はリポジトリのパスから自動生成されるので、プロジェクト名とリポジトリのパスが一致している場合は不要です。
*.imlファイルについては.gitignoreで排除すべきという意見と排除すべきでないという意見が混在している状況です。個人的には排除しても問題ないと思っています。
3 .ideaディレクトリ、gradleディレクトリ
.ideaディレクトリ、gradleディレクトリ、*.imlファイルは存在しない場合にAndroid Studio起動時に自動生成されます。
しかし、.ideaディレクトリとgradleディレクトリはプロジェクト固有の設定が含まれる場合があるので、.gitignoreで排除せず、リポジトリに追加して良いと思います。
4 モジュールのディレクトリ
app/.gitignore | Android Studioが提供する.gitignore(buildを排除) |
app/build.gradle | Gradleのビルドスクリプト |
app/libs | ライブラリ(jarファイル)を格納するディレクトリ |
app/proguard-rules.pro | ProGuardの設定ファイル |
app/src | モジュールのソースツリー |
5 モジュールのソースツリー
app/src/androidTest | テストプロジェクト |
app/src/androidTest/java | テストプロジェクトのJavaコード |
app/src/main | プロジェクト |
app/src/main/AndroidManifest.xml | プロジェクトのマニフェストファイル |
app/src/main/java | プロジェクトのJavaコード |
app/src/res | リソースファイルディレクトリ |
リソースファイルディレクトリについて、Eclipseでdrawable-xxxだったものがAndroid Studioではmipmap-xxxになっています。