Android Studio for Platform (ASfP) 中的项目包含为 AOSP 代码库定义工作区的所有内容,包括源代码、资源、测试代码和 build 配置等。
当您开始一个新项目时,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 build 操作,包括同步和相关运行配置。
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 构建事件添加自定义标志或环境变量。此配置适用于 IDE 中导致 Soong 构建的所有操作,包括同步和运行配置。
build_config:
flags:
- -j64
env:
SOONG_ALLOW_MISSING_DEPENDENCIES: true
MY_CUSTOM_VAR: value