こんにちは!
前回までに、以下の記事を書きました。
今回は、構成について理解します。
テンプレートで起動した直後の構成
Geminiアプリのテンプレートで起動した際に、以下のディレクトリ構成になりました。
各ディレクトリについて、役割を調べてみます。
各ディレクトリやファイルの役割
簡単に言うと、appフォルダにアプリの本体が、Gradle Scriptsにビルドに関する設定が入っています。
開発においては、主にappフォルダ内のKotlin/Javaコード(kotlin+java)とリソース(res)を編集します。
app:
アプリケーションのメインモジュール。
コード、リソース、設定ファイルなどが含まれます。
manifests
アプリケーションのマニフェストファイル(AndroidManifest.xml)を格納。
アプリの権限、コンポーネント、メタデータなどを定義します。
kotlin+java:
KotlinとJavaのソースコードを格納。
アプリのロジックを実装します。
java (generated):
自動生成されたJavaファイル。
通常、直接編集する必要はありません。
com.example.mygeminiapp:
アプリのメインソースコード。
com.example.mygeminiapp (androidTest):
Android Instrumentationテストのコード。
実機またはエミュレータ上で実行されます。
com.example.mygeminiapp (test):
ローカルユニットテストのコード。
開発マシン上で実行されます。
mipmap:
アプリのアイコンを格納。
異なる解像度のアイコンを用意することで、様々なデバイスで適切な表示を実現します。
values:
文字列、色、スタイルなどのリソースを定義するXMLファイルを格納。
res (generated):
自動生成されたリソースファイル。
通常、直接編集する必要はありません。
Gradle Scripts:
プロジェクトのビルド設定ファイルを格納。
build.gradle.kts (Project: My_Gemini_App):
プロジェクト全体のビルド設定。
依存関係、プラグインなどを定義します。
build.gradle.kts (Module: app):
appモジュールのビルド設定。
モジュール固有の依存関係、設定などを定義します。
proguard-rules.pro:
ProGuardの設定ファイル。
コードの難読化、最適化、サイズ削減などを設定します。
リリースビルド時に使用されます。
gradle.properties:
プロジェクトレベルのプロパティを設定するファイル。
gradle-wrapper.properties:
Gradle Wrapperの設定ファイル。
プロジェクトで使用するGradleのバージョンを指定します。
libs.versions.toml:
依存ライブラリのバージョンを管理するファイル(Version Catalog)。
local.properties:
通常、このファイルはバージョン管理システムには追加しません。
Android SDKのローカルパスなどの、マシン固有の設定情報を格納します。
settings.gradle.kts:
マルチモジュールプロジェクト(複数のモジュールで構成されるプロジェクト)の構成を定義します。
おわりに
今回は、Android Studioで作成したプロジェクトの構成について理解しました。
次回はカスタマイズして、さらに理解を深めます。