Проект в Android Studio for Platform (ASfP) содержит все, что определяет ваше рабочее пространство для кодовой базы AOSP: от исходного кода и ресурсов до тестового кода и конфигураций сборки.
При запуске нового проекта ASfP создаёт необходимую структуру для всех ваших файлов и делает их видимыми в окне «Проект» . Чтобы открыть окно, выберите «Вид» > «Окна инструментов» > «Проект» .
На этой странице представлен обзор ключевых компонентов конфигурации вашего проекта.
Конфигурация проекта ( .asfp-project
)
Конфигурация проекта ASfP управляется файлом .asfp-project
, расположенным в корневом каталоге вашего проекта. Этот YAML-файл необходим для управления содержимым проекта и работой критически важных функций. Вы можете открыть его через главное меню, выбрав ASfP > Проект > Открыть конфигурацию, или найдя его в окне проекта.
При создании проекта формируется конфигурация на основе предоставленных пользователем спецификаций. Все параметры конфигурации можно редактировать в любое время, например, для обновления каталогов или модулей проекта. После этого требуется синхронизация для отражения изменений.
Параметры конфигурации
Вот основные параметры, которые можно настроить в файле .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. Эта конфигурация применяется ко всем действиям в IDE, приводящим к сборке Soong, включая конфигурации синхронизации и запуска.
build_config:
flags:
- -j64
env:
SOONG_ALLOW_MISSING_DEPENDENCIES: true
MY_CUSTOM_VAR: value