В 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