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
必需
将与您的项目耦合的 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 build 事件添加自定义标志或环境变量。此配置适用于 IDE 中导致 Soong build 的所有操作,包括同步和运行配置。
build_config:
flags:
- -j64
env:
SOONG_ALLOW_MISSING_DEPENDENCIES: true
MY_CUSTOM_VAR: value