Настройте IDE для разработки SDV.

Android Studio for Platform (ASfP) — это рекомендуемая интегрированная среда разработки (IDE) для разработки приложений на платформе Android, включая проекты программно-определяемых транспортных средств (SDV) на базе Android Automotive Operating System (AAOS). ASfP предоставляет богатый набор инструментов для редактирования кода, сборки, отладки и тестирования, в том числе:

  • Искусственный интеллект-помощник (Gemini)
  • Поддержка языков Rust, C или C++, Java.
  • Полезные интеграции для разработки AAOS SDV (например, поддержка эмулятора Cuttlefish и поддержка языка VSIDL).

Установите Android Studio для этой платформы.

Для установки ASfP:

  1. Скачайте Android Studio для платформы .

  2. Выберите версию, которая лучше всего соответствует вашим потребностям:

    • Стабильная версия: последняя рабочая версия, рекомендуемая большинству пользователей.
    • Canary: Версия для раннего доступа включает в себя новейшие функции, но потенциально может быть менее стабильной.
  3. Следуйте инструкциям по установке, указанным на странице загрузки.

Создайте проект AAOS SDV.

Чтобы настроить проект AAOS SDV:

  1. Убедитесь, что у вас есть доступ к репозиторию исходного кода AAOS SDV, а также что вы инициализировали и синхронизировали локальную копию. Подробную информацию о доступе к исходному коду и инициализации репозитория см. в разделе «Загрузка, сборка и запуск» .

  2. Запустите Android Studio для платформы.

  3. Если вы используете программу впервые, следуйте инструкциям мастера настройки, чтобы персонализировать среду разработки.

  4. Создать новый проект:

    • Если у вас нет открытого проекта, нажмите кнопку «Создать» на экране приветствия.
    • Если у вас уже открыт проект, нажмите «Открыть» или выберите ASfP > Проект > Импортировать проект ASfP из меню.
  5. В мастере укажите параметры конфигурации проекта:

    • Выгрузка из репозитория: укажите абсолютный путь к корневому каталогу вашей локальной загрузки исходного кода AAOS SDV (например, /path/to/sdv_source ).

    • Целевой объект для запуска: Введите соответствующий целевой объект для запуска разработки AAOS SDV на платформе Cuttlefish, например, sdv_core_cf-trunk_staging-userdebug . См. раздел «Выбор целевого объекта» для получения информации о других доступных целевых объектах.

    • Исходные файлы проекта: перечислите начальные каталоги или модули, которые вы хотите включить в свой проект, или щелкните значок папки, чтобы открыть файловый браузер и выбрать каталоги. Выбор слишком большого количества каталогов или модулей повлияет на индексирование и производительность поиска в IDE, поэтому включайте только релевантные каталоги или модули.

    • Поддержка языков: выберите Rust и C++ в качестве поддерживаемых языков.

    • Название проекта: Дайте своему проекту описательное название.

    • Завершите настройку: нажмите «Готово» . ASfP создаст структуру проекта и конфигурационный файл .asfp-project .

ASfP автоматически запускает начальный процесс синхронизации. ASfP анализирует ваш исходный код, разрешает зависимости с помощью системы сборки Soong и собирает информацию, необходимую для функций интеллектуального анализа кода. Это может занять значительное количество времени, особенно для первой синхронизации.

Настройте проект

Файл .asfp-project расположенный в корневой директории вашего проекта, позволяет дополнительно настраивать его. Вы можете отредактировать этот файл следующим образом:

  • Добавление или удаление каталогов и модулей.
  • Включите поддержку других языков, таких как C++ или Rust (по умолчанию поддерживаются Java и Kotlin).
  • Настройте флаги сборки.

Чтобы внести изменения в конфигурационный файл, выберите ASfP > Проект > Открыть конфигурацию . Доступные параметры конфигурации см. в разделе «Обзор проектов» .

Отладка и тестирование

Для отладки и тестирования кода в ASfP см. разделы «Отладка кода платформы» и «Тестирование кода платформы с помощью atest» .

Доступные интеграции

ASfP включает в себя ряд полезных интеграций для разработки AAOS SDV, в том числе поддержку Cuttlefish и протокола языкового сервера (LSP) в VSIDL.

Плагин "Кальмар"

Плагин Cuttlefish позволяет пользователям создавать и запускать локальные устройства Cuttlefish непосредственно из ASfP.

Установите плагин

Плагин Cuttlefish предустановлен в ASfP и не требует настройки. Для работы плагина необходимо установить инструменты Cuttlefish на устройство. При необходимости следуйте инструкциям по установке инструментов Cuttlefish.

Создать устройство «Каракатица»

Для создания нового устройства:

  1. Откройте окно «Диспетчер устройств», выбрав «Инструменты» > «Диспетчер устройств» или щелкнув значок «Запущенные устройства» на правой панели, если «Диспетчер устройств» уже закреплен там.

  2. Нажмите на значок «+» и выберите «Создать устройство для имитации каракатицы» .

  3. Настройте новое устройство Cuttlefish. Создать устройство Cuttlefish можно двумя способами:

    • Из локального репозитория исходного кода Android:

      • Выберите путь к целевому объекту сборки, соответствующий вашей конфигурации запуска (подробнее см. раздел «Выбор целевого объекта» ).
      • Выберите путь к хосту.
      • При желании выберите доступные конфигурации устройства или «Нет» для конфигурации по умолчанию.
    • Из канонической конфигурации (используйте этот параметр для создания нескольких устройств из одной конфигурации):

      • Выберите путь к настройкам устройства.
      • При желании можно указать любые флаги переопределения для изменения параметров конфигурации.
  4. Дождитесь создания устройства Cuttlefish и его добавления в список запущенных устройств в Диспетчере устройств.

  5. Выберите устройство Cuttlefish в меню «Устройства для бега» .

Вы можете запускать или останавливать отдельные устройства Cuttlefish, нажав значок остановки или запуска рядом с устройством в Диспетчере устройств.

Перейти на страницу устройства «Каракатица»

Плагин Cuttlefish имеет окно инструментов, в котором отображается страница « Устройство Cuttlefish» , где вы можете получить доступ к функциям зеркального отображения экрана.

Чтобы открыть окно инструмента «Каракатица», щелкните значок «...» на левой боковой панели и выберите «Каракатица» . Также вы можете найти «Каракатицу» в меню «Справка» > «Найти действие» .

Протокол языкового сервера в VSIDL

В VSIDL LSP предоставляет богатый набор функций IDE для улучшения рабочего процесса разработки при работе с файлами VSIDL (с расширением .vsidl ) в ASfP.

Семантическая подсветка синтаксиса

LSP-сервер обеспечивает подсветку синтаксиса для файлов VSIDL.

  • Что делает эта функция: выделяет ключевые слова ( service_bundle , publisher ), поля ( package: message: :) и литералы.

  • Как попробовать: Откройте любой файл VSIDL. Файл имеет цветовую кодировку, позволяющую отличать структурные ключевые слова от определяемых пользователем идентификаторов.

Диагностика в реальном времени (ошибки и предупреждения)

LSP-сервер непрерывно проверяет файлы и сообщает о проблемах в режиме реального времени.

  • Что делает программа: Обнаруживает синтаксические ошибки, недопустимые ссылки на типы и другие ошибки во всем каталоге и его зависимостях.

  • Как попробовать: Добавьте опечатку в название сообщения (например, TiiirePressure ). Под орфографической ошибкой появится красная волнистая линия. Наведите курсор на слово, чтобы увидеть сообщение об ошибке, или просмотрите полный список в окне инструментов «Проблемы» внизу IDE.

Вы можете использовать функции навигации и интеллектуального анализа для изучения взаимосвязей между различными частями вашего каталога VSIDL.

  • Автозавершение: Нажмите Control + Space , чтобы увидеть подсказки для ключевых слов, сообщений protobuf, служб RPC, тем и каналов. Подсказки по ключевым словам содержат краткие и полезные пояснения к их назначению непосредственно в меню автозавершения. LSP также предоставляет интеллектуальные фрагменты для таких блоков, как publisher или server чтобы ускорить вашу работу.

  • Перейти к определению: Удерживая клавишу Control , щелкните (или нажмите Control+B ) по ссылке на сообщение, службу, тему или канал, чтобы перейти непосредственно к его исходному определению, даже если оно находится в другом файле VSIDL или protobuf.

  • Поиск ссылок: Наведите курсор на ключевое слово publisher , subscriber , server или client и нажмите Alt+Shift+F7, чтобы найти все вхождения.

  • Всплывающая подсказка: Наведите курсор на тип или свойство (или нажмите Ctrl+Q ). Появится всплывающая подсказка с комментариями к документации (если таковые имеются).

Структурные особенности

Сервер LSP помогает управлять структурой больших файлов VSIDL и перемещаться по ней:

  • Символы документа (структура): Нажмите Control+F12 для быстрого просмотра всплывающей подсказки навигации или откройте окно инструмента «Структура» ( Control+Alt+7 ), чтобы увидеть древовидное представление всех пакетов и модулей в файле.

  • Сворачивание диапазонов: Щелкните значки > или V в боковой панели (рядом с номерами строк), чтобы свернуть или развернуть большие логические блоки, такие как service_bundle или определения сопоставлений.

  • Форматирование документа: Нажмите Control+Alt+L , чтобы автоматически переформатировать файл, обеспечив единообразные отступы и интервалы.