Android プロジェクトには、ビルド関連の多くのファイルとディレクトリ構造が含まれており、 整理する方法を紹介します。このコースの 続いて、全体的な構造と基本ロールと 理解できます
次の表に、Android プロジェクトの一般的なファイルを示します。それぞれの説明は、 どのような種類のコンテンツがあるかをメモします。最高 プラクティスは時間の経過とともに変化するため、これらの説明はプロジェクトとは インターネットから継承またはダウンロードしたリソースです。
ビルドファイルを書き込むときは、宣言型のアプローチを使用します。ビルドロジックとタスク プラグインでのみ指定する必要がある。ビルドロジックをプラグインに制限することで、 ビルドファイルはデータ宣言になり、より直接的に理解できる 使用できます。今後のバージョンでは、次のような代替仕様が追加される可能性があります。 宣言型 Gradle: できます。
フォルダ/ファイル |
使用 |
---|---|
.gradle/ |
Gradle プロジェクトのキャッシュ ディレクトリ Gradle によって管理され、ダウンロードした Gradle ディストリビューション、プロジェクト キャッシュ、構成ファイルが含まれます。 このディレクトリ内のファイルは変更しないでください。 |
.idea/ |
Android Studio プロジェクトのメタデータ このディレクトリ内のファイルは変更しないでください。 |
build.gradle(.kts) |
サブプロジェクト間で共通のプラグイン クラスパスを設定するプラグイン宣言のみを含める必要があります。 その他のコードは、設定またはネストされたプロジェクト レベルのビルドファイルに配置する必要があります。 |
gradle.properties |
Gradle プロパティが含まれており、ヒープサイズ、キャッシュ、並列実行など、Gradle ビルド環境の各要素を制御します。 AGP DSL の追加や削除に伴う変更を減らすために、一時的な Android プロパティがここで定義されています。 |
gradlew(Linux、Mac) gradlew.bat(Windows) |
Gradle ラッパー ファイル Gradle ディストリビューションをダウンロードしてコマンドを転送することで、ビルドをブートストラップする。これにより、Gradle をプリインストールすることなくビルドを実行できます。 |
local.properties |
ローカルマシンの構成 Android SDK の場所など、ローカルマシンに関連するプロパティが含まれます。 このファイルはソース管理から除外してください。 |
settings.gradle(.kts) |
Gradle の初期化とプロジェクト設定などに関するグローバル ビルド情報が含まれています。
|
Gradle/ |
|
📲? libs.versions.toml |
ビルド内で使用される依存関係とプラグインの変数を定義します。使用するバージョンをここで指定することで、プロジェクト内のすべてのサブプロジェクト間の一貫性を確保します。 |
🚫? ラッパー/ |
|
📈? gradle‐wrapper.jar |
Gradle ブートストラップ 実行可能ファイル 指定された Gradle ディストリビューションをダウンロードし(存在しない場合)、引数を渡して実行します |
📲? gradle‐wrapper.properties |
Gradle ラッパーの構成 Gradle ディストリビューションをダウンロードする場所(使用するバージョンを含む)を指定します。 |
app/ |
サブプロジェクト(Android Studio では「モジュール」)は、アプリやライブラリをビルドでき、他のサブプロジェクトや外部依存関係に依存する場合があります。
|
📈? build.gradle(.kts) |
このサブプロジェクトのビルド方法を宣言します。各サブプロジェクトには個別のビルドファイルが必要で、
ビルドファイルには、ビルドロジック(Kotlin 関数定義や条件など)やタスク宣言を含めないでください。ビルドロジックとタスクはプラグイン内にのみ含める必要があります。 |
🙁? src/ |
サブプロジェクトのソースファイル ソースファイル(アプリケーション コードとリソース)をソースセットにグループ化します。 |
📈? メイン/ |
メインの ソースセット すべてのビルド バリアントに共通するソースコードとリソース。このソースはすべてのビルドのベースとして機能し、その他のより具体的なソースセットはこのソースに追加またはオーバーライドされます。 |
📲? Java/ 📲? kotlin/ |
Kotlin と Java のソースコード
|
📲? res/ |
XML ファイルや画像などのアプリケーション リソースが格納されています。すべてのアプリはランチャー アイコンなどの基本的なリソースを使用しますが、レイアウトやメニューなどのこれらのリソースの多くは、ビューベースのアプリでのみ使用されます。Compose アプリは、このディレクトリで定義された String リソースを使用します。 |
🚫? AndroidManifest.xml |
Android パッケージ マネージャーによって読み取られて、システムに通知します。
|
📲? androidTest/ |
デバイステスト ソースセット Android 搭載デバイスまたはエミュレータで実行するテスト用のソースが含まれています。これらのテストは実際の Android 環境にアクセスしますが、ホストテストよりも実行速度が遅くなります。 |
📈? テスト/ |
ホストテスト ソースセット デバイスで実行されるテストではなく、JVM 内でローカルに実行されるテストのソースが含まれています。これらのテストは、デバイステストよりもはるかに高速に実行できます。ただし、すべてのシステムコール(アプリケーションを実行するライフサイクルを含む)は、モック、フェイク、スタブ、またはその他のシミュレーションを行う必要があります。
|
📈? proguard-rules.pro |
アプリケーションの圧縮、最適化、難読化を制御するルールを定義します。R8 は、不要なコードとリソースを削除し、ランタイム パフォーマンスを最適化して、識別子の名前を変更することでコードをさらに最小化します。 |