
Android Automotive OS — это версия Android, оптимизированная для использования в автомобиле, которая расширяет возможности базовой платформы Android. Автомобили со встроенными приложениями Google работают на Android Automotive OS и поставляются с приложениями и сервисами Google, включая Google Play, Gemini, Google Assistant и Google Maps.
Узнайте об аппаратном обеспечении Android Automotive OS.
Чтобы узнать больше о минимальных аппаратных требованиях для устройств на базе Android Automotive OS, см. раздел «Автомобильные требования» в документе «Определение совместимости Android» (CDD) для версий Android, поддерживаемых вашим приложением.
Вырезки для дисплея
Как и в других форм-факторах Android, устройства Android Automotive OS с непрямоугольными дисплеями поддерживают вырезы в экране. Однако размер и форма вырезов в автомобилях могут значительно отличаться от вырезов в других форм-факторах. Подробные инструкции см. в разделе «Работа с оконными вставками и вырезами в экране» .
Аудио
Устройства под управлением Android Automotive OS, как правило, имеют фиксированный уровень громкости. Подробнее о том, как это может повлиять на ваше приложение, см. в разделе «Работа с устройствами с фиксированным уровнем громкости» .
Разберитесь в программном обеспечении Android Automotive OS.
Хотя Android Automotive OS основана на той же базовой операционной системе, что и устройства других форм-факторов, она обладает некоторыми дополнительными уникальными функциями, которые могут повлиять на разработку и использование приложений.
Системный пользовательский интерфейс
В автомобилях существуют некоторые различия в работе этих элементов пользовательского интерфейса, о которых вам следует знать.
Навигация
В отличие от других форм-факторов, для устройств на базе Android Automotive OS не требуется наличие аппаратных или программных средств управления сзади. При работе не в режиме совместимости, действия, реализуемые вашим приложением, должны включать средства управления пользовательским интерфейсом для обеспечения навигации внутри приложения в соответствии с рекомендациями по качеству AN-1 .
Расположение панели инструментов системы
Как и в других форм-факторах, Android Automotive OS включает в себя системные панели , такие как строка состояния и панель навигации. В автомобилях эти панели могут иметь другой размер и расположение, чем в других форм-факторах. Например, панель навигации может располагаться слева, справа или внизу экрана. Даже если строка состояния находится сверху, а панель навигации — снизу (как в большинстве телефонов и планшетов), размер этих элементов в автомобилях, скорее всего, будет значительно больше.
Кроме того, если на мобильных устройствах вырезы под дисплей обычно находятся в пределах системной панели, то в автомобилях это не так.
Подробные инструкции см. в разделе «Работа с оконными вставками и вырезами для дисплея» .
Иммерсивный режим
Операционная система Android Automotive позволяет производителям автомобилей контролировать, могут ли приложения отображать или скрывать системные панели для входа и выхода из иммерсивного режима . Запрещая приложениям скрывать системные панели, производители могут гарантировать, что элементы управления автомобилем, такие как климат-контроль, всегда будут доступны на экране.
Ограничения пользовательского опыта
Ограничения пользовательского опыта (UX) — это встроенная в Android Auto функция, предназначенная для предотвращения отвлечения внимания водителя. Ограничения UX автоматически блокируют использование приложений, не оптимизированных для использования во время вождения.

Точный набор правил, определяющих, как и когда действуют ограничения на пользовательский опыт, устанавливается производителями автомобилей. Эти правила могут различаться в зависимости от региона — например, на один и тот же автомобиль, продаваемый в Европе, могут распространяться другие правила, чем на автомобили, продаваемые в Соединенных Штатах.
Правила ограничения пользовательского опыта могут также различаться в зависимости от типа дисплея в автомобиле. Например, центральный дисплей, находящийся в поле зрения водителя, может быть ограничен во время движения автомобиля, в то время как дисплей пассажира останется без ограничений.
Если вашему приложению необходимо адаптироваться к ограничениям пользовательского интерфейса, ссылайтесь на них напрямую — не пытайтесь реконструировать их реализацию. Например, если вы предполагаете, что ограничения пользовательского интерфейса действуют, когда рычаг переключения передач не находится в положении «Парковка», вы можете неоправданно ограничить работу приложения, отображаемого на пассажирском дисплее.
Оптимизация отвлекающих факторов
По умолчанию выполнение действий невозможно при наличии ограничений пользовательского интерфейса, призванных минимизировать отвлечение водителя. Чтобы указать системе, что действие должно продолжаться во время движения транспортного средства, в соответствующий элемент <activity> можно добавить следующий элемент <meta-data> .
<activity ...>
<meta-data android:name="distractionOptimized" android:value="true">
</activity>
При разработке приложений для Android Automotive OS эти метаданные должны присутствовать в манифесте только при объявлении элемента манифеста <activity> для CarAppActivity приложения, созданного с использованием библиотеки Car App Library. Никакие другие действия не должны быть помечены как оптимизированные для отвлечения внимания — если такое действие есть, ваше приложение будет отклонено при отправке в Google Play Store.
Доступность
Поддержка специальных возможностей в Android Automotive OS не так обширна, как на других форм-факторах. Функции TalkBack , Switch Access и Voice Access недоступны на устройствах с Android Automotive OS.
Настройки субтитров поддерживаются на устройствах с ОС Android Automotive. Подробности интеграции см. в разделе «Использование системных настроек субтитров» .
Выбор сети
Операционная система Android Automotive поддерживает функцию выбора сети для каждого приложения (PANS) , которая позволяет производителям оборудования направлять трафик мобильной сети в разные сети для каждого приложения отдельно.
Большинство приложений используют только сеть по умолчанию и получают выгоду только от этой функции — например, производитель оборудования может оплачивать сетевой трафик вашего приложения, даже если у пользователя нет собственного тарифного плана. Если ваше приложение (или одно из его зависимостей) использует сети, отличные от сети по умолчанию, оно может не получать выгоды от настроек, установленных производителем оборудования. См. раздел «Чтение состояния сети» для получения дополнительных рекомендаций по использованию сетей, отличных от сети по умолчанию.
Системные характеристики
Вы можете определить, доступна ли та или иная функция, используя PackageManager::hasSystemFeature , и соответствующим образом скорректировать поведение вашего приложения.
Аппаратные характеристики
Как и в случае с другими немобильными устройствами, аппаратные функции, доступные в автомобилях, могут отличаться от функций мобильных устройств.
Ориентация экрана
Подобно телевизорам, автомобили — это устройства с фиксированной ориентацией экрана. В отличие от телевизоров, они выпускаются как в портретной, так и в альбомной ориентации. Чтобы гарантировать возможность распространения приложений, разработанных для Android Automotive OS, на все транспортные средства, приложения должны убедиться, что в них нет явных или неявных требований к функциям android.hardware.screen.landscape или android.hardware.screen.portrait .
местоположение сети
Многие устройства под управлением Android Automotive OS не используют стек телефонии, применяемый для определения местоположения по сети, и поэтому не сообщают о системной функции android.hardware.location.network . Хотя определение местоположения по сети может быть недоступно, доступ к приблизительному определению местоположения по-прежнему поддерживается — см. раздел «Приблизительное определение местоположения в Android Automotive OS» .
Функции программного обеспечения
Некоторые программные функции, обычно встречающиеся на устройствах других форм-факторов, могут не поддерживаться на устройствах с ОС Android Automotive. Например, следующие функции недоступны на многих автомобилях с ОС Android Automotive:
Соответствует требованиям Google Play к функционалу.
Для распространения в автомобилях через Google Play приложения, созданные для Android Automotive OS, должны включать элемент <uses-feature> в файл AndroidManifest.xml для параметра android.hardware.type.automotive :
<manifest ...>
...
<!--
See Choose a track for Android Automotive OS
for details on how to choose which value to use for the android:required attribute.
-->
<uses-feature
android:name="android.hardware.type.automotive"
android:required="[true|false]">
...
</manifest>
Кроме того, если ваше приложение содержит явное объявление функций с android:required="true" или неявное требование к какой-либо из следующих функций, вам необходимо обновить или удалить их, чтобы требования к функциям вашего приложения не препятствовали его распространению на совместимых транспортных средствах:
-
android.hardware.wifi -
android.hardware.screen.portrait -
android.hardware.screen.landscape -
android.hardware.camera
Для функций, явно объявленных с помощью android:required="true" , можно сделать одно из следующих действий:
- Удалите элемент
<uses-feature>, если данная функция не требуется по иным неявным причинам. - Явно объявите эту функцию с помощью
android:required="false".
Для функций, которые требуются неявно, можно сделать одно из следующих действий:
- Явно объявите эту функцию с помощью
android:required="false". - Удалите или обновите значения в манифесте, которые вводят неявное требование к данной функции.
Изменение описаний функций в манифесте не влияет на фактическое функционирование вашего приложения, поэтому убедитесь, что ваше приложение по-прежнему корректно работает без этих функций.
Часто задаваемые вопросы
В каких автомобилях Google встроен?
Список производителей автомобилей, выпускающих модели с интегрированной системой Google, можно найти на сайте Cars with Google built-in . Технические характеристики и другие сведения об устройствах можно получить с помощью каталога устройств Play Console.