На этой странице описаны функции и улучшения в релизе Android Automotive OS (AAOS) 25Q4. AAOS 25Q4 — это официальный «золотой» релиз. 25Q4 предлагает восемь новых функций и устраняет 180 проблем.
В стандарте AAOS 25Q4 используется API уровня 36.
Функции
В этом релизе AAOS представлены новые функции, описанные здесь.
Рамки
Поддержка поворотного регулятора для Jetpack Compose:
Android 14 и выше: AAOS обеспечивает базовую встроенную поддержку поворотного регулятора для пользовательских интерфейсов Jetpack Compose, включая вращение и перемещение контроллера.
Android 12, Android 12L и Android 13: AAOS предоставляет ограниченную поддержку поворота экрана для Compose UI. Поворот контроллера работает с использованием обходного пути на стороне приложения. Мы не поддерживаем перемещение контроллера.
Чтобы узнать больше, посмотрите демонстрацию View Compose Activity в приложении
RotaryPlayground. Исходный код этого приложения можно найти в веткеcar-apps-dev.
Производительность и состояние системы
- Остановка приложений предыдущих пользователей: Для уменьшения задержки при переключении пользователей и потребления памяти система останавливает приложения предыдущего пользователя на более раннем этапе процесса переключения.
Системный опыт
Масштабируемый пользовательский интерфейс
AAOS добавляет решение для управления окнами, специально разработанное для автомобильной промышленности, чтобы помочь производителям оригинального оборудования (OEM) разрабатывать расширенные возможности управления окнами с масштабируемым пользовательским интерфейсом безопасным, соответствующим требованиям и экономически эффективным способом. Эта платформа позволяет разработчикам проектировать структуру окон с помощью декларативного языка в XML-конфигурациях.
Фокусировка на задаче в масштабируемом пользовательском интерфейсе: вводится набор правил для определения того, какая задача получит фокус в многооконной среде (например, открытие и закрытие панелей). Новый атрибут
onTransitionв тегеFocusобеспечивает более детальный контроль.Механизм автоматического перезапуска в Scalable UI: панели Scalable UI теперь корректно обрабатывают сбои приложений, перезапуская неисправные приложения. Мы представляем механизм автоматического перезапуска задач для решения проблем, связанных с неожиданным завершением задач в панелях пользовательского интерфейса, который можно настроить с помощью нового XML-тега
<Restart>, определяющего политику перезапуска и максимальное количество повторных попыток.Улучшения производительности при перетаскивании декоративных панелей и инструменты мониторинга производительности: AAOS обеспечивает повышение производительности анимации перетаскивания интерактивных панелей. Кроме того, он добавляет инструменты мониторинга в библиотеку Scalable UI для измерения диссонанса во время ключевых пользовательских сценариев.
Трассировки OEM Perfetto предоставляют дополнительные метаданные, специфичные для того, что происходит в оконном режиме и в библиотеке масштабируемого пользовательского интерфейса.
Оформление панелей адаптируется и реагирует на изменения темы: тема оформления панелей подстраивается под изменения темы. Например, при переключении между светлым и темным режимами или других изменениях темы на уровне системного интерфейса.
Команды отладки для пользователей и инструменты разработчика:
Команды оболочки выводят текущее состояние панели и отправляют события через adb: используйте команды
adbдля изменения визуального состояния панели, например, для открытия или закрытия панели.Эта команда оболочки запускает событие в системе. Например, чтобы закрыть панель сетки приложений, когда она открыта, выполните команду
adb shell cmd statusbar carsysui-dispatch-event close_app_grid.`.Состояние панели включено в дамп состояния активности: дамп состояния активности содержит информацию о состоянии панели. Используйте инструменты отладки (команда adb), чтобы получить состояние панели с помощью дампа состояния (
=adb).Эта команда отображает текущее состояние панели, когда не происходит никаких визуальных действий. Команда выглядит следующим образом:
adb shell cmd statusbar carsysui-dump-panelstates
Ведение журналов и отслеживание данных OEM-производителем
- Добавляет запись событий подписки на автомобильные данные. Для улучшения отслеживания данных мы включаем запись событий подключения пользователя для производителей автомобилей.
Основные приложения
Для проверки соответствия стандартам CDD и CTS для мобильных приложений, готовых к использованию в автомобилях (CaRMA), мы улучшаем совместимость и удобство использования сторонних приложений в автомобильной среде. Для демонстрации лучших практик бесшовной навигации мы добавляем примеры для демонстрации возможностей возврата назад.
Улучшения в функции блокировки активности (ABA): Для улучшения управления жизненным циклом AAOS совершенствует поведение функции OnStop ABA.
Безопасная область для отрисовки приложения. Для проверки видимости контента и предотвращения перекрытия, AAOS определяет специальную область отображения приложения.
Масштабирование DPI: AAOS оптимизирует элементы пользовательского интерфейса в зависимости от разрешения экрана и расстояния просмотра.
Переопределение параметров для каждого приложения: AAOS позволяет управлять поведением приложения, например, ориентацией и соотношением сторон.
Улучшения совместимости : AAOS включает в себя основные функции Android, такие как DocumentsUI, и добавляет улучшения совместимости со сторонними приложениями.
Альтернативные элементы управления приложениями: AAOS позволяет пользователям управлять звуком, не входящим в состав мультимедийного центра, во время вождения, в частности, с помощью коммуникационных приложений.
свойства VHAL
- Тег
@SystemApiсвойства enum: AAOS позволяет сторонним приложениям получать доступ к перечислениям, свойства которых недавно были обозначены как доступные для сторонних приложений.
Аудио
- API для регулировки баланса и затухания звука: AAOS улучшает работу собственных приложений, позволяя получать текущие настройки баланса и затухания звука, заданные пользователем. Эти уровни звука сохраняются для каждого пользователя при каждом включении и выключении зажигания. Это обновление обеспечивает совместимость с другими пользовательскими настройками звука в API автомобильных аудиосистем.
Конфиденциальность
Ограничение доступа в соответствии с условиями использования Google: Вы можете отключать приложения до тех пор, пока пользователь не примет условия использования Google. Значки отключенных приложений отображаются серым цветом, указывая на состояние неактивности.
При нажатии на отключенное приложение пользователям предлагается принять Условия использования Google.
В Android 25Q4 эта функция совместима с OEM-сервисами, которые размещают постоянно отображаемые приложения Google на фоновой панели, настроенной с помощью масштабируемого пользовательского интерфейса. Например, постоянно отображаемое приложение Google Maps, установленное в качестве приложения на главном экране, будет отображаться серым цветом, пока пользователь не примет условия использования Google.
Согласие
AAOS тестирует совместимость Android с Cuttlefish и внутренним эталонным оборудованием с помощью следующих наборов тестов на GSI: CTS, CTS-V, ATS, ATS-V, STS, VTS и CTS на GSI.
Для устранения неполадок не требуется внесение исправлений в код Android 16 ( android16-release ) или тестовую ветку Android 16 ( android16-m1-tests-dev ), за исключением проблем, перечисленных ниже.
Мы планируем решить эти проблемы соответствия требованиям в одном из следующих релизов AOSP.
CtsAppSecurityHostTestCases:RoleSecurityTest#cannotGetSmsRoleHolderForAnotherUserCtsMediaHostTestCases:AudioServiceRebootHostTest#testVolumePersists_AfterRebootCtsPermissionUiTestCases:PermissionTest23#testInteractiveGrant
Сбои в тестах Android 25Q4
В этом разделе перечислены тестовые случаи, не прошедшие проверку в Android 25Q4, которые характерны только для Cuttlefish. Тесты, не прошедшие проверку, успешно проходят на внутреннем эталонном оборудовании. Мы подтверждаем наличие любых несоответствий в результатах тестирования на Cuttlefish и внутреннем эталонном оборудовании.
Мы определяем несоответствие результатов тестирования, оценивая результаты 15 последовательных сборок, в ходе которых происходит несколько групп сбоев тестирования.
| Тестовый пример | События |
|---|---|
CtsWindowManagerBackgroundActivityTestCases | 6 |
CtsJvmtiAttachingHostTestCases | 5 |
CtsViewTestCases | 5 |
CtsStagedInstallHostTestCases | 3 |
CtsUiRenderingTestCases27 | 2 |
CtsWindowManagerDeviceActivity | 2 |
CtsAppOpsTestCases | 1 |
CtsNetTestCasesLegacyApi22 | 1 |
CtsStatsdAtomHostTestCases | 1 |
CtsUiRenderingTestCases | 1 |