Android Studio for Platform(ASfP)のプロジェクトには、ソースコードやアセットから、テストコード、ビルド構成にいたるまで、AOSP コードベースのワークスペースを定義するものがすべて含まれています。
新しいプロジェクトを開始すると、ASfP はすべてのファイルに必要な構造を作成し、[Project] ウィンドウに表示します。このウィンドウを開くには、[View] > [Tool Windows] > [Project] を選択します。
このページでは、プロジェクト構成内の主なコンポーネントの概要を説明します。
プロジェクトの構成(.asfp-project
)
ASfP プロジェクトの構成は、プロジェクト ディレクトリのルートにある .asfp-project
ファイルによって制御されます。この YAML ファイルは、プロジェクトに何を含めるか、重要な機能がどのように動作するかを制御するために不可欠です。このファイルは、メインメニューから [ASfP] > [Project] > [Open Config] を選択するか、プロジェクト ビューで探して開くことができます。
プロジェクトの作成時に、ユーザーが指定した仕様に基づいて構成が作成されます。構成内のすべてのパラメータは、プロジェクトの仕様を変更するためにいつでも編集できます。たとえば、プロジェクト ディレクトリやモジュールを更新できます。変更を反映するには、同期が必要です。
構成パラメータ
.asfp-project
ファイルで構成できる主なパラメータは次のとおりです。
repo
必須
Android プラットフォーム リポジトリのルートへの絶対パス。
repo: /path/to/aosp
lunch
必須
プロジェクトと連携するランチ ターゲット。これは、同期や関連する実行構成など、すべての Soong ビルド アクションに使用されます。
lunch: your-product-variant-userdebug
directories
任意
プロジェクトに含めるか、プロジェクトから除外するディレクトリ。これらは、repo
ルートを基準にした相対パスにする必要があります。
directories:
include:
- frameworks/base
- packages/apps/Settings
exclude:
- vendor
- out/soong
modules
任意
プロジェクトに含めるか除外するモジュール。これらは、前に指定した directories
と連携して動作します。完全な名前と省略名の両方がサポートされています。
modules:
include:
- SystemUIGoogle
- frameworks/base/services/core/java:services
exclude:
- UnusedModule
test_sources
任意
ASfP は本番環境とテスト環境のソースを区別しようとしますが、場合によってはテスト環境のソースを明示的に示す必要があります。これらは repo
ルートに対する相対パスとして指定します。指定されたパスのサブディレクトリであるソースルートはすべて、テストとしてマークされます。
test_sources:
- cts/tests/tests/example
- tests/mytests
other_languages
任意
Java サポートはデフォルトで含まれています。他の言語のサポートを追加できます。ASfP は C/C++(cpp
)と Rust(rust
)もサポートしています。
other_languages:
- cpp
- rust
build_config
任意
このパラメータを使用すると、カスタム フラグまたは環境変数を Soong ビルドイベントに追加できます。この構成は、同期や実行構成など、Soong ビルドにつながる IDE のすべてのアクションに適用されます。
build_config:
flags:
- -j64
env:
SOONG_ALLOW_MISSING_DEPENDENCIES: true
MY_CUSTOM_VAR: value