Проект в 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
Необязательный
 Directories to either include in or exclude from your project. These should be relative paths with respect to the repo root.
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
