Обзор проектов

В 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