Руководство по интеграции автомобильной библиотеки пользовательского интерфейса

Набор инструментов автомобильного пользовательского интерфейса (UI) предоставляет платформу разработки пользовательского интерфейса, которую вы можете использовать, чтобы убедиться, что приложения, присутствующие в автомобилях (приложения Google, системные приложения и приложения поставщиков), могут достичь:

  • Самосогласованность информационно-развлекательного интерфейса/UX. Самосогласованность — это способность пользователя прогнозировать, как взаимодействовать с информационно-развлекательной системой, на основе предыдущего опыта взаимодействия с той же системой.

  • Настройка. OEM-производители могут изменить внешний вид системы, чтобы лучше всего интегрировать функциональность с салоном и оборудованием автомобиля.

Дополнительные сведения об интеграции Car UI Library см. в следующих статьях:

О библиотеке пользовательского интерфейса автомобиля

Библиотека пользовательского интерфейса автомобиля — это статически связанная библиотека, которая предоставляет набор компонентов и ресурсов, которые можно использовать для реализации:

  • Системные и OEM-приложения (Gerrit)
  • Приложения Android Automotive (AAOS)

Эта библиотека служит:

  • API настройки:

    • Определение ресурсов, которые можно настроить, включая цвета, размеры и рисунки.
    • Обработка ресурсов как API с гарантиями обратной совместимости.
  • Уровень совместимости между краткосрочным решением, представленным в Android 9 и Android 10, и долгосрочным решением, разрабатываемым в настоящее время.

Наложения ресурсов

В настоящее время Android предоставляет несколько способов применения настроек без дополнительной работы с затронутыми подсистемами и приложениями:

  • Наложения времени сборки. Эта настройка применяется во время сборки образа системы Android. Во время сборки все приложения в системе получают ресурсы из своей папки res и из папок overlay , определенных в целевых make-файлах.

  • Динамические наложения во время выполнения (динамический RRO). Эти специальные APK содержат только ресурсы и файл манифеста, чтобы указать, на какой целевой APK они будут влиять. Динамические RRO компилируются и развертываются независимо от образа системы, и их можно включать и выключать. Когда система выполняет поиск ресурсов для определенного приложения, она также проверяет, есть ли какие- либо RRO, предназначенные для него, и содержит ли RRO ресурс с таким же именем.

  • Статические наложения во время выполнения (статический RRO). Подобно динамическим RRO по структуре, они всегда включены , что означает, что их нельзя удалить или обновить без выполнения полного обновления образа системы. Статические RRO служат промежуточным звеном между динамическими наложениями во время сборки и во время выполнения.

В дополнение к компонентам пользовательского интерфейса библиотека автомобильного пользовательского интерфейса предоставляет механизм для прямого наложения ресурсов (статически связанных с каждым приложением) на ресурсы OEM с использованием набора статических RRO . OEM-производители должны предоставить папку, содержащую их наложения ресурсов и список целевых приложений. Во время сборки инфраструктура библиотеки пользовательского интерфейса автомобиля будет использовать эту информацию для создания одного статического RRO для каждого целевого приложения.

Компоненты библиотеки пользовательского интерфейса автомобиля

Рисунок 1 . Компоненты библиотеки пользовательского интерфейса автомобиля

На изображении выше:

  • Зеленый . Настройка, предоставляемая OEM, сочетание ресурсов наложения времени сборки и времени выполнения.

  • Желтый. Поддержка, предоставляемая библиотекой пользовательского интерфейса автомобиля, включая накладываемые ресурсы, компоненты (код Java) и поддержку сборки для создания необходимых RRO.

  • Синий. Настраиваемые цели, включая платформу, системные приложения, приложения поставщиков и приложения GAS, которые используют библиотеку пользовательского интерфейса автомобиля для настройки элементов пользовательского интерфейса.