プロジェクトの解析とディレクトリ構造

初めて Android プロジェクトを作成した直後、Android Studio では複数のプロジェクト表示モードを選択できます。Project モードはプロジェクトの実際の物理ディレクトリ構造を表示するため、プロジェクト全体を把握するのに適しており、特に初心者におすすめです。以下では Project モードをベースに、プロジェクト内の主要なファイルとフォルダについて解説します。


外側のディレクトリ(プロジェクトのルートディレクトリ)

1. app ディレクトリ

プロジェクト内のほぼすべてのコードやリソースファイルがここに集約されています。以降の開発では、主にこのディレクトリを操作することになります。

2. gradle ディレクトリ

Gradle Wrapper の設定ファイルが含まれています。Gradle Wrapper を使うメリットは、事前に Gradle を手動でダウンロードする必要がなく、ローカルのキャッシュ状況に応じて自動的にネットワーク経由でダウンロードするかどうかを判断してくれる点です。

Android Studio ではデフォルトで Gradle Wrapper が有効になっていません。有効にするには、ナビゲーションバーの File → Settings → Build, Execution, Deployment → Gradle から設定を行ってください。

3. .gitignore

指定したディレクトリやファイルをバージョン管理から除外するために使用します。このファイルを開くと、一般的に以下のような除外項目が含まれています:

*.iml
.gradle
/local.properties
/.idea/workspace.xml
/.idea/libraries
.DS_Store
/build
/captures
.externalNativeBuild
4. build.gradle

プロジェクト全体の Gradle ビルドスクリプトです。通常、変更する必要はありません。

5. gradle.properties

グローバルな Gradle 設定ファイルです。ここで設定したプロパティは、プロジェクト内のすべての Gradle コンパイルスクリプトに影響します。

6. build ディレクトリ

コンパイル時に自動生成されるファイルが含まれています。特に気にする必要はありません。

7. MyApplication.iml

IntelliJ IDEA(Android Studio のベースとなっているプラットフォーム)が自動生成するファイルで、IDEA プロジェクトであることを識別するために使用されます。手動で変更しないでください。

8. gradlew および gradlew.bat

コマンドラインから Gradle コマンドを実行するために使用します:

  • gradlew:Linux / Mac システム用
  • gradlew.bat:Windows システム用
9. local.properties

ローカルの Android SDK パスを指定します。このファイルの内容は Android Studio によって自動生成されます。SDK の場所が変更されない限り、変更する必要はありません。

sdk.dir=C\:\\Users\\YY\\AppData\\Local\\Android\\Sdk
10. settings.gradle

プロジェクトに含まれるすべてのモジュールを指定するために使用します。現在は app モジュールのみが含まれているため、ファイル内にも app のみが記述されています。モジュールの追加は通常自動的に行われるため、手動で変更する必要はほとんどありません。


重要:app ディレクトリの詳細

app ディレクトリには、実際の開発に必要なすべてのコアコンテンツが含まれています:

1. build

外側の build ディレクトリと同様に、コンパイル時に自動生成されるファイルが含まれています。内容はより多岐にわたりますが、特に気にする必要はありません。

2. libs

サードパーティ製の .jar ファイルを保存します。このディレクトリに配置された JAR ファイルは、自動的にビルドパスに追加されます。

3. androidTest

Android Test のテストケースを作成するために使用し、プロジェクトの自動テストを実行できます。

4. java

すべての Java / Kotlin コードを配置する場所です。ディレクトリを展開すると、システムが自動生成した MainActivity ファイルが表示されます。

5. res

リソースディレクトリで、プロジェクトで使用されるすべての画像、レイアウト、文字列などのリソースが含まれています:

リソースの種類保存場所
画像drawable ディレクトリ
レイアウトlayout ディレクトリ
文字列values ディレクトリ

適切に分類されているため、煩雑にはなりません。

6. AndroidManifest.xml

Android プロジェクト全体の設定ファイルです。四大コンポーネント(Activity、Service、BroadcastReceiver、ContentProvider)はすべてここに登録する必要があり、アプリに必要な権限もここで宣言します。

7. test

Unit Test のテストケースを作成するために使用し、別の自動テスト手法となります。

8. .gitignore

app モジュール内の指定したディレクトリやファイルをバージョン管理から除外するために使用し、外側の .gitignore と同様の役割を果たします。

9. app.iml

IntelliJ IDEA が自動生成するファイルです。気にする必要も、変更する必要もありません。

10. build.gradle(モジュールレベル)

app モジュールの Gradle ビルドスクリプトです。依存ライブラリ、コンパイルバージョン、アプリケーション ID など、ビルドに関連する多数の設定が含まれており、開発中に最も頻繁に変更する設定ファイルの一つです。

11. proguard-rules.pro

プロジェクトのコード難読化ルールを指定します。正式リリース用にパッケージングする際、難読化を有効にすると、リバースエンジニアリングによるコード解析を効果的に防ぐことができます。


プロジェクトの解析とディレクトリ構造

コメントを残す

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です