Android Studioで新規プロジェクトを作成するとどのようなフォルダ構成で、どのようなファイルが作成されるかを見ていきます。
「3.1 Android StuidioによるAndroidプロジェクトの作成」で作成した新規プロジェクトのフォルダ「MyApplication」を見ると次のようなフォルダ・ファイルで構成されています。Android Studioのプロジェクトには、ソースコードやリソースから、テストコード、ビルド設定にいたるまで、Androidアプリの作業空間を定義するすべてが含まれます。

新規プロジェクトのフォルダ・ファイル
新規プロジェクトのフォルダ・ファイルの説明を次に示します。
| 名称 | 説明 | 
|---|---|
| .gradle | Gradleの設定 | 
| .idea | プロジェクト固有の設定情報が格納。存在しない場合にAndroid Studio起動時に自動生成 | 
| app | Android アプリを構成するJavaソースコード、リソース、ビルド設定を集めたモジュール | 
| gradle | Gradleのスクリプト。 存在しない場合にAndroid Studio起動時に自動生成 | 
| .gitignore | Android Studioが提供する.gitignore(=Gitで使われる特殊なファイル名で、このファイルに書かれたファイルは、Gitのトラッキングの対象外) | 
| build.gradle | Gradleによるビルドスクリプトの本体 | 
| gradle.properties | Gradleの並列実行等を制御 | 
| gradlew | GradleのUnix/Linux向けスクリプト | 
| gradlew.bat | GradleのWindows向けバッチファイル | 
| local.properties | ビルドシステムのローカル環境プロパティの設定 | 
| settings.gradle | Gradleの起動時に読み込まれるビルドスクリプト | 
Gradleとは?
Gradleは、 高度なビルドツールキットで、Android Studioでリソースとソースコードをコンパイルして、テスト、デプロイ(=開発したAndroidアプリをAndroid デバイス上に展開・配置して利用可能とする)、署名、配布が可能な APK(=Android Application Package、Android専用ソフトウェアパッケージのファイルフォーマット)にパッケージ化し、ビルドプロセスの自動化と管理を行う一方で、柔軟なカスタムビルド構成の定義を可能にしています。
モジュールフォルダの構成
Androidアプリを構成するJavaソースコード、リソース、ビルド設定を集めたモジュール「app」フォルダの構成を次に示します。
│
├─app
│  │  .gitignore
│  │  build.gradle
│  │  proguard-rules.pro
│  │
│  ├─build
│  │  ├─generated
│  │  ├─intermediates
│  │  ├─outputs
│  │  └─tmp
│  │      └─compileDebugJavaWithJavac
│  │              source-classes-mapping.txt
│  │
│  ├─libs
│  └─src
│      ├─androidTest
│      │  └─java
│      │      └─com
│      │          └─example
│      │              └─myapplication
│      │                      ExampleInstrumentedTest.java
│      │
│      ├─main
│      │  │  AndroidManifest.xml
│      │  │
│      │  ├─java
│      │  │  └─com
│      │  │      └─example
│      │  │          └─myapplication
│      │  │                  MainActivity.java
│      │  │
│      │  └─res
│      │      ├─drawable
│      │      │      ic_launcher_background.xml
│      │      │
│      │      ├─drawable-v24
│      │      │      ic_launcher_foreground.xml
│      │      │
│      │      ├─layout
│      │      │      activity_main.xml
│      │      │
│      │      ├─mipmap-anydpi-v26
│      │      │      ic_launcher.xml
│      │      │      ic_launcher_round.xml
│      │      │
│      │      ├─mipmap-hdpi
│      │      │      ic_launcher.webp
│      │      │      ic_launcher_round.webp
│      │      │
│      │      ├─mipmap-mdpi
│      │      │      ic_launcher.webp
│      │      │      ic_launcher_round.webp
│      │      │
│      │      ├─mipmap-xhdpi
│      │      │      ic_launcher.webp
│      │      │      ic_launcher_round.webp
│      │      │
│      │      ├─mipmap-xxhdpi
│      │      │      ic_launcher.webp
│      │      │      ic_launcher_round.webp
│      │      │
│      │      ├─mipmap-xxxhdpi
│      │      │      ic_launcher.webp
│      │      │      ic_launcher_round.webp
│      │      │
│      │      ├─values
│      │      │      colors.xml
│      │      │      strings.xml
│      │      │      themes.xml
│      │      │
│      │      └─values-night
│      │              themes.xml
│      │
│      └─test
│          └─java
│              └─com
│                  └─example
│                      └─myapplication
│                              ExampleUnitTest.java
│
└─gradle
    └─wrapper
            gradle-wrapper.jar
            gradle-wrapper.properties
モジュール「app」フォルダの構成を次に示します。
| 名称 | 説明 | 
|---|---|
| app/.gitignore | Android Studioが提供する.gitignore(ファイル内容はbuildを排除) | 
| app/build.gradle | Gradleのビルド設定 | 
| app/libs | ライブラリ(=jarファイル)を格納するディレクトリ | 
| app/proguard-rules.pro | ProGuardの設定ファイル。ProGuardは、Javaコードを縮小、最適化、および難読化するオープンソースのツールで、未使用の命令を検出して削除できる | 
| app/src | モジュールのソースツリー | 
モジュールのソースツリー「app/src」フォルダの構成を次に示します。
| 名称 | 説明 | 
|---|---|
| app/src/androidTest | テスト用のプロジェクト | 
| app/src/androidTest/java | テスト用のプロジェクトのJavaコード | 
| app/src/main | プロジェクト本体 | 
| app/src/main/AndroidManifest.xml | Android アプリの名前、アイコン、動作するAndroidのバージョンなどを設定 | 
| app/src/main/java | Androidアプリの処理を記述したJavaソースコード | 
| app/src/res | Androidアプリで使用するリソースファイル群。 「layout」フォルダは、 Android アプリのレイアウトを定義するXMLファイルを格納。「drawable-xx」フォルダは、 Androidアプリが使う画像ファイルを格納。フォルダ名の末尾に付与される「-hdpi」や「-mdpi」などは、アプリが動作する端末の画面解像度に対応。 | 
本節の説明は以上になります。

