Автомобильное приложение
| Последнее обновление | Стабильный релиз | Кандидат на релиз | Бета-версия | Альфа-релиз |
|---|---|---|---|---|
| 16 июля 2025 г. | 1.7.0 | - | - | 1.8.0-альфа02 |
Объявление зависимостей
Чтобы добавить зависимость от Car App Library, необходимо добавить репозиторий Google Maven в свой проект. Подробнее см. в репозитории Google Maven .
Добавьте зависимости для необходимых артефактов в файл build.gradle вашего приложения или модуля:
классный
dependencies { implementation "androidx.car.app:app:1.7.0" // For Android Auto specific functionality implementation "androidx.car.app:app-projected:1.7.0" // For Android Automotive specific functionality implementation "androidx.car.app:app-automotive:1.7.0" // For testing testImplementation "androidx.car.app:app-testing:1.7.0" }
Котлин
dependencies { implementation("androidx.car.app:app:1.7.0") // For Android Auto specific functionality implementation("androidx.car.app:app-projected:1.7.0") // For Android Automotive specific functionality implementation("androidx.car.app:app-automotive:1.7.0") // For testing testImplementation("androidx.car.app:app-testing:1.7.0") }
Дополнительные сведения о зависимостях см. в разделе Добавление зависимостей сборки .
Обратная связь
Ваши отзывы помогают улучшить Jetpack. Сообщите нам, если вы обнаружите новые проблемы или у вас есть идеи по улучшению этой библиотеки. Пожалуйста, ознакомьтесь с уже существующими проблемами в этой библиотеке, прежде чем создавать новую. Вы можете проголосовать за существующую проблему, нажав на кнопку со звёздочкой.
Более подробную информацию см. в документации по системе отслеживания проблем .
Версия 1.8
Версия 1.8.0-альфа02
18 июня 2025 г.
Выпущен androidx.car.app:app-*:1.8.0-alpha02 . Версия 1.8.0-alpha02 содержит следующие коммиты .
Новые функции
- Добавлена поддержка
Action.MEDIA_PLAYBACK, которая отображает индикатор на основе состояния воспроизведения мультимедиа. - Добавлена поддержка управления позицией прокрутки пользователя при обновлении
SectionedItemTemplate.
Изменения API
- Добавить поддержку сохранения позиции прокрутки пользователя в
SectionedItemTemplateмежду обновлениями. ( Ia4c51 ) - Обновлено действие
MEDIA_PLAYBACKдля включения его в действие конца строки ( I05cc4 ). - Добавить новый тип действия ( I6cc5a )
- Добавьте
CarAppExtender#addAction(Action), чтобы вCarAppExtenderможно было добавить любой тип действия. ( Idc4d7 ) -
SectionedItemTemplateтеперь доступен для API 8 и выше. ( I9a079 )
Версия 1.8.0-альфа01
20 мая 2025 г.
Выпущен androidx.car.app:app-*:1.8.0-alpha01 . Версия 1.8.0-alpha01 содержит следующие изменения .
Новые функции
Все функции временно доступны только на Android Auto. Те же API будут использоваться в AAOS.
- Добавлена категория «Медиа» для создания собственных приложений в качестве альтернативы приложениям на основе
MediaBrowse. - Добавлен шаблон воспроизведения, позволяющий управлять основными действиями в режиме воспроизведения медиа (доступно только для приложений мультимедиа).
- Добавлена полная поддержка шаблона секционированных элементов в Android Auto, который позволяет комбинировать подразделы, состоящие из списков/сеток.
- Добавлен «Очень большой» как дополнительный размер для элементов сетки.
Изменения API
- Добавить дополнительный параметр размера для элементов сетки ( I35b58 )
- Добавляет категорию и разрешение для медиаприложений в библиотеку автомобильных приложений ( I8e100 )
- Добавлен новый API для приложений, позволяющий определять, поддерживается ли категория медиа
CarAppLibrary( Ic4b08 ). - Добавлен
OnItemVisibilityChangeListenerв раздел. ( I2c2fd ) - Добавлен
Mileage#getOdometerKilometersи прекращена поддержкаMileage#getOdometerMeters( Ic91af ).
Исправления ошибок
- Исправлена опечатка в Javadoc
CarIcon.setTint( Iabd72 ) - Обновлена документация
Row.Builder#setNumericDecorationс целью объяснить, что 1 действие + числовое оформление не поддерживаются; однако 0 или 2 действия + числовое оформление поддерживаются. ( Ic0b08 ) - Добавлено поле для цвета фона значка для элементов сетки. ( I2b6ae )
Версия 1.7
Версия 1.7.0
16 июля 2025 г.
Выпущен androidx.car.app:app-*:1.7.0 . Версия 1.7.0 содержит следующие изменения .
- Это первый стабильный релиз, включающий исправление CVE-2024-10382 , выпущенное в версии beta03. Если вы используете версию ниже 1.7-beta03, обновите её, чтобы использовать эту версию.
Версия 1.7.0-rc01
15 января 2025 г.
androidx.car.app:app-*:1.7.0-rc01 выпущен без каких-либо заметных изменений по сравнению с beta03. Версия 1.7.0-rc01 содержит следующие коммиты .
- Это первый релиз-кандидат, включающий исправление CVE-2024-10382 , выпущенное в версии beta03. Если вы используете версию ниже 1.7-beta03, обновите её, чтобы использовать эту версию.
Версия 1.7.0-beta03
13 ноября 2024 г.
Исправлена уязвимость системы безопасности и другие общие ошибки. Если вы используете более раннюю версию, обновите её, чтобы использовать эту .
Выпущена версия androidx.car.app:app-*:1.7.0-beta03 . Версия 1.7.0-beta03 содержит следующие изменения .
Изменения API
- Обновить код сериализации/десериализации CAL для обработки только тех объектов, для которых объявлена аннотация
@CarProtocol. ( Ic730e ) -
CarAppExtenderтеперь можно использовать для расширения фреймворкаNotification.Builderвместо толькоNotificationCompat.Builder. ( Id3ad7 ) - Добавить дополнительный
KEY_EXCLUDE_MEDIA_ITEM_FROM_MIXED_APP_LIST. ( I201f9 ) - Отменить использование пустого конструктора Builder в
ConversationItemи заменить его конструктором, принимающим обязательные параметры. Также добавлена проверка для защиты от нулевых сообщений. ( Ic8221 )
Исправления ошибок
- Убедитесь, что карта
PlaceListиспользует строковый (только текстовый) заголовок. ( Ic992f ) - Эта библиотека теперь использует аннотации JSpecify, определяющие значение null , которые являются типовыми. Разработчикам Kotlin следует использовать следующий аргумент компилятора для обеспечения корректного использования:
-Xjspecify-annotations=strict(это значение по умолчанию, начиная с версии 2.1.0 компилятора Kotlin). ( Ib5367 , b/326456246 )
Версия 1.7.0-beta02
18 сентября 2024 г.
Выпущен androidx.car.app:app-*:1.7.0-beta02 . Версия 1.7.0-beta02 содержит следующие изменения .
Изменения API
- Добавить дополнительный
KEY_ROOT_HINT_MEDIA_HOST_VERSION( I8796b ) - Заменить класс
TabContents.Api8Builderна конструктор@ExperimentalCarApiв классеTabContents.Builder( I26fbe ) - Добавить действие намерения и дополнительные возможности для
CarMediaApp( I50782 ) - Отметить API обмена сообщениями как неэкспериментальные ( I0b070 )
- Добавить удаленную загрузку элементов в
SectionedItemTemplate(позволяет загружать длинные списки без сбоев) ( I0d122 ) - Добавить
SectionedItemTemplateв список поддерживаемых шаблонов внутриTabTemplateв API 8. ( Idc5d6 )
Исправления ошибок
- Удалено ручное описание доступа к новым API платформы, поскольку это происходит автоматически посредством моделирования API при использовании R8 с AGP 7.3 или более поздней версии (например, R8 версии 3.3) и для всех сборок с использованием AGP 8.1 или более поздней версии (например, D8 версии 8.1). Клиентам, не использующим AGP, рекомендуется обновиться до D8 версии 8.1 или более поздней. Подробнее см. в этой статье ( I9496c , b/345472586 ).
Версия 1.7.0-beta01
26 июня 2024 г.
Выпущена версия androidx.car.app:app-*:1.7.0-beta01 . Версия 1.7.0-beta01 содержит следующие изменения . Функции те же, что и в alpha01, и они повторены ниже:
Новые функции
- Карта с содержимым: новый шаблон «Карта-холст» плюс шаблон содержимого, который на данный момент может быть списком / сеткой / панелью / сообщением.
-
RoutePreview,PlaceListNavigationиMapTemplateустарели. Шаблоны продолжат работать как есть. - Примеры приложений были обновлены для отображения использования
MapWithContentвместо устаревших шаблонов.
-
- Элемент разговора: новые API для отображения разговоров (IM, SMS) и сообщений помощника в автомобиле.
- Габариты транспортного средства: новый API для получения размеров транспортного средства (данные на данный момент находятся на AAOS).
Изменения API
- Добавьте тег
@ExperimentalCarApiвMediaPlaybackTemplate.Builder. ( Ic1957 ) - Добавляет новый
SectionedItemTemplateв экспериментальную версию. ( I5958a ) - Представляем
CarAppApiLevel 8( I3fa22 ) - Добавляет
MediaPlaybackTemplateдля отображения контента во время воспроизведения мультимедиа в библиотеке автомобильных приложений. ( I3c10d ) - Добавлен новый API для приложений, позволяющий определить, поддерживает ли система фоновый звук во время вождения ( I0f868 ).
Исправления ошибок
- Исправлены некоторые случаи утечек памяти и сбоев в клиентском коде CAL и в примере приложения CAL Navigation. ( I55e04 )
- Замените
requireNotNull instancesв методеonDestroyобъектаBaseCarAppActivityна проверки if-null, чтобы избежать сбоев. ( Iec676 )
Версия 1.7.0-альфа02
17 апреля 2024 г.
Выпущен androidx.car.app:app-*:1.7.0-alpha02 . Версия 1.7.0-alpha02 содержит следующие изменения .
Новые функции
- Добавлены устаревшие флаги для шаблонов на основе карт, которые в дальнейшем будут поддерживаться шаблоном
MapWithContent.
Изменения API
- Отменить поддержку старых
MapTemplate,RoutePreviewNavigationTemplate,PlaceListNavigationTemplateи рекомендовать использование новогоMapWithContentTemplate( Ib0a08 ).
Версия 1.7.0-альфа01
3 апреля 2024 г.
Выпущена версия androidx.car.app:app-*:1.7.0-alpha01 . Мы изменили схему нумерации версий библиотеки в соответствии с текущей версией CarApi. Это сделано для того, чтобы избежать путаницы в системе наименований, основанной на отзывах разработчиков. В связи с этим мы пропустим версии 1.5 и 1.6 и сразу перейдём к версии 1.7. Версия 1.7.0-alpha01 содержит эти коммиты .
Новые функции
- Карта с содержимым : новый шаблон
MapWithContent, который поддерживает список / сетку / панель / сообщение в качестве содержимого внутри карты.- Шаблоны
RoutePreview,PlaceListNavigationи Map теперь устарели. - Примеры приложений были обновлены для демонстрации функциональности устаревших шаблонов с использованием
MapWithContent.
- Шаблоны
- Элемент разговора : новые API для отображения разговоров (IM, SMS) и показаний помощника в автомобиле.
- Габариты транспортного средства : новый API для получения размеров транспортного средства (данные на данный момент находятся на AAOS).
Изменения API
- Отметить тип изображения с очень маленькой строкой как экспериментальный ( I5184b )
- Добавлен API
CarInfo#fetchExteriorDimensions, который позволяет получить доступ к информации о внешних размерах автомобиля, такой как высота, ширина и т. д. ( Ia40c5 ). - Удален тег
ExperimentalAPIизMapWithContentTemplate( I66db8 ) - Обновите параметр
GridItem#setTitleтак, чтобы он допускал значение NULL. ( I3d610 ) - API
GetHeaderне требует API 7, поскольку он обратно совместим ( I8c812 ). - Добавить поддержку
HeaderвListTemplate, прекратить поддержкуheaderAction,headerTitle,actionStrip( I7ae01 ) - Отменить поддержку
title,headerAction,actionStripвGridTemplateи добавить поддержкуHeader( I41a9c ) - Удалить требование уровня 7 для экспериментальных API: Badge, методы получения/установки размера элемента
GridTemplateи формы изображения, методыGridItemдля получения/установки Badge. ( Id71eb ) - Отменить поддержку
title,headerActionиactionStripвPaneTemplate, добавить поддержку новогоHeader( I23154 ) - Изменена телеметрия Media Center с
BroadcastReceiverна Browse Custom Action. ( I4185f ) - Добавлена поддержка атрибута
HeaderвMessageTemplate. ПоддержкаActionStrip,headerActionиtitleпрекращена. ( Ie2de8 ) - Изменить видимость константы оповещения ( Icf8a8 )
- Удалить атрибут
isLoadingиз родительского шаблона ( I651e6 ) - Добавить дополнительные данные для информирования медиа-приложений об основных параметрах пользовательского интерфейса ( I85ca2 )
- Добавить функцию аналитики медиацентра в
MediaExtensions( I7ce28 ) - Добавлена опция для очень маленьких изображений в строках. ( I72c03 )
Исправления ошибок
- Обновите документацию Javadoc по
ConversationItem, указав, что сообщения следует сортировать в порядке от самых старых к самым новым. ( I77a2a ) - Обновите логику усечения
ListTemplate, чтобы удалить самые старые сообщения изConversationItem( Ie0a61 ).
Версия 1.4
Версия 1.4.0
29 мая 2024 г.
Выпущена версия androidx.car.app:app-*:1.4.0 . Версия 1.4.0 является усовершенствованием версии 1.4.0-rc02.
Важные изменения с версии 1.3.0
- Рендеринг карты приборной панели для навигационных приложений
- Новый шаблон вкладки для улучшенного макета приложения и удобства использования
- Поддержка адаптивных ограничений задач
- Вторичные действия над элементами списка
Версия 1.4.0-rc02
13 декабря 2023 г.
Выпущена версия androidx.car.app:app-*:1.4.0-rc02 . Версия 1.4.0-rc02 содержит следующие исправления. Только незначительные исправления.
Исправления ошибок
- Обновите документацию Javadoc по
ConversationItem, указав, что сообщения следует сортировать в порядке от самых старых к самым новым ( I77a2a ). - Обновите логику усечения
ListTemplate, чтобы удалить самые старые сообщения изConversationItem( Ie0a61 ).
Версия 1.4.0-rc01
1 ноября 2023 г.
androidx.car.app:app-*:1.4.0-rc01 выпущен без заметных изменений. Версия 1.4.0-rc01 содержит следующие коммиты.
Версия 1.4.0-beta02
20 сентября 2023 г.
Выпущен androidx.car.app:app-*:1.4.0-beta02 . Версия 1.4.0-beta02 содержит следующие коммиты. Она практически идентична beta01, но снижает требования compileSdk до 33.
Исправления ошибок
- Исправлена ошибка, из-за которой загрузочные экраны на вкладках отображались некорректно. ( cae860 )
Версия 1.4.0-beta01
9 августа 2023 г.
Выпущен androidx.car.app:app-*:1.4.0-beta01 . Версия 1.4.0-beta01 содержит следующие изменения.
Примечание: для версии 1.4-beta01 требуется compileSdk34, который всё ещё находится в стадии разработки. В версии 1.4-beta02 эта проблема будет исправлена. Кроме того, вы можете добавить
android.suppressUnsupportedCompileSdk=34в файлsettings.gradleвашего проекта, чтобы временно отключить предупреждение.
Новые функции
- Рендеринг карты приборной панели для навигационных приложений
- Новый шаблон вкладки для улучшенного макета приложения и удобства использования
- Поддержка адаптивных ограничений задач
- Вторичные действия над элементами списка
Изменения API
- См. альфа02
Версия 1.4.0-альфа02
26 июля 2023 г.
Выпущен androidx.car.app:app-*:1.4.0-alpha02 . Версия 1.4.0-alpha02 содержит следующие изменения.
- Выпуск Alpha02 призван стать подготовкой к предстоящему выпуску beta01.
Новые функции
- Поддержка отображения карты на панели инструментов для навигационных приложений
- Добавлены вкладки для приложений для улучшения компоновки.
- Добавлены параметры визуализации шаблона списка/сетки
- Добавлены новые категории для «Погода» и «Коммуникации».
- Перенести несколько API в следующую версию CarApi 7
Изменения API
- Добавить поля мультимедиа в
CarMessage( I5aaf6 ) - Добавляет пользовательские действия в
ConversationItemв библиотеке автомобильных приложений ( Ie5ed6 ) - Добавьте дополнительные элементы, указывающие на то, что медиафайл воспроизводится в формате иммерсивного звука, и покажите логотип формата контента ( Icb5bb ).
- Добавить новый тип действия, API
ActionsConstraintsдля поддержки кнопки «Создать сообщение». ( I31661 ) - Сделано
set/getTemplateкакset/get ContentTemplate( Ica036 ) - Параметр шаблона теперь будет
@NonNull. Обновлена документация APIMapWithContentTemplate( I0f8ed ). - Удаляет тег
@ExperimentalCarApiдля действий вListTemplateдля запуска в CAL 1.4 ( I2cfcb ) - Удаляет тег
@ExperimentalCarApiдляTabTemplate( Ifcb82 ) - Удалить аннотации
@ExperimentalCarApiиз вторичных действий и декораций строки ( I8487e ) - Добавляет идентификатор содержимого активной вкладки в
TabTemplateи отменяет поддержку активного состояния вкладок ( I96932 ) - Добавить свойство
ItemImageShapeвGridTemplate( Ibf431 ) - Добавьте свойство
ItemSizeвGridTemplate, которое управляет размером элементов сетки в соответствии с относительным малым, средним и большим количеством контейнеров. ( Icdb3b ) - Откройте разработчикам доступ к API для получения копии текущего стека экранов. ( I48107 )
- Добавляет категорию для погодных приложений в библиотеку автомобильных приложений ( I2be44 )
- Добавляет категорию для вызова приложений в библиотеку автомобильных приложений ( Icab33 )
- Заменены методы
GridItem.Builder#setBadge()на перегруженныеsetImage()( Id2000 ) - Добавить свойство значка к значку ( I629b2 )
- Добавить метод для установки цвета фона значка точки ( I6411c )
- Добавьте свойство Badge к
GridItem, что позволит отображать значок поверх изображенияGridItem. ( I95de7 ) - Добавлен экспериментальный объект Badge, который будет представлять собой значок, отображаемый поверх изображения. ( I9878d )
Версия 1.4.0-альфа01
22 февраля 2023 г.
Выпущен androidx.car.app:app-*:1.4.0-alpha01 . Версия 1.4.0-alpha01 содержит следующие изменения.
Изменения API
- Добавляет действия верхнего уровня в
GridTemplateв библиотеке автомобильных приложений ( Id0191 ) - Добавляет действия верхнего уровня в
ListTemplateв библиотеке автомобильных приложений ( I9efab ) - Добавьте дополнительные элементы для связи подзаголовка или описания медиа-элемента с другими медиа-элементами ( Ic84bf )
- Обновить уровень API для действий со строками до уровня 6. ( Ie0a69 )
- Добавить обратные вызовы сообщений в A4C ( Ie3986 )
Исправления ошибок
- Добавить отсутствующие ссылки на документацию Java для
CarMessage. ( I5db1c ) - Переопределить
equals()иhashCode()дляConversationItemиCarMessage( I6fd10 ) - Улучшена проверка
ConversationItem.mMessages(требуется ненулевое и непустое значение ( Iafc51 ) - Добавить аннотации
@Keepк полямConversationItem( I5d250 ) - Обновление документации Java для оформления строк и дополнительных действий. ( I000b6 )
Версия 1.3
Версия 1.3.0-rc01
7 декабря 2022 г.
Выпущен androidx.car.app:app-*:1.3.0-rc01 . Версия 1.3.0-rc01 содержит следующие изменения.
- Исправлены незначительные ошибки версии beta01. Серьёзных изменений нет.
Версия 1.3.0-beta01
7 сентября 2022 г.
Выпущены androidx.car.app:app:1.3.0-beta01 , androidx.car.app:app-projected:1.3.0-beta01 , androidx.car.app:app-automotive:1.3.0-beta01 и androidx.car.app:app-testing:1.3.0-beta01 . Версия 1.3.0-beta01 содержит эти изменения.
- Автомобильные приложения, созданные с использованием этой библиотеки, теперь можно загрузить в Play Store, используя API уровня 5 (см. наше руководство по разработке ). Функции, отмеченные API уровня 5 и ниже, совместимы как с Android Auto 8.1+ , так и с Google Automotive App Host 1.4+ .
Новые функции
В дополнение к возможностям, добавленным в Car App Library 1.3.0-alpha01, в версию beta01 были добавлены следующие функции (все функции здесь связаны только с изменениями на стороне хоста без каких-либо изменений API):
- Плавающая навигационная панель будет отображаться даже тогда, когда пользователь находится на экране выбора карты в
PlaceListNavigationTemplate,RoutePreviewNavigationTemplateиMapTemplate. Это можно сделать, обновив навигационную информацию с помощьюNavigationManager.updateTrip(). - Включите кнопку действия с флагом
FLAG_DEFAULT, чтобы анимация выполнялась по истечении времени ожидания. Эта кнопка будет нажата по умолчанию по истечении времени ожидания. ([API 5 - All Templates]) - Подтекст
Rowне обрезается, когда автомобиль припаркован, но обрезается до 2 строк во время движения. ([API 5 - All Templates]) - Поддержка отключенного состояния для
Action,Toggle,Row([API 5 - All Templates])
Изменения API
- Ослабьте ограничения в списке
MapTemplateдля поддержки выбираемых списков ( 1961 ) - Устранить ограничение на действия заголовка, чтобы разрешить использование пользовательских значков. ( Iad28f )
- Добавьте ограничение
setOnClickListenerAllowed()вActionsConstraints, которое позволитActionустанавливатьOnClickDelegate()для действий, за исключением стандартных типов значков (TYPE_APP_ICON,TYPE_BACKиTYPE_PAN) ( I3c745 ).
Исправления ошибок
- Добавлена совместимость Android Automotive Template Host 1.4+ с изогнутыми дисплеями (
[Host change])
Версия 1.3.0-альфа01
27 июля 2022 г.
Выпущены androidx.car.app:app:1.3.0-alpha01 , androidx.car.app:app-projected:1.3.0-alpha01 , androidx.car.app:app-automotive:1.3.0-alpha01 и androidx.car.app:app-testing:1.3.0-alpha01 . Версия 1.3.0-alpha01 содержит эти коммиты.
Функции, отмеченные как API уровня 5, совместимы с Android Auto 7.9 и выше.
Новые функции
- API уровня 5: новый
MapTemplate, который может использоваться навигационными приложениями для отображения содержимого панели или списка рядом с картой ( If5826 , If44b8 ) - API уровня 5: новый API
CarAudioRecord, позволяющий записывать аудиосигнал через микрофон основного транспортного средства ( I5e71a ) - API уровня 5: новый API
SuggestionManager, позволяющий приложениям предоставлять предложения хосту ( I5c103 ) - API уровня 5: новый API
Alertдля отображения в контекстных уведомлениях вNavigationTemplate( I163a7 , I5ad70 ) - API уровня 5: новые компоненты
HeaderиMapControllerдля упрощения повторного использования в разных шаблонах ( If5826 ) - Добавлена категория
androidx.car.app.category.POIдля включения приложений POI (и отмененыandroidx.car.app.category.PARKINGиandroidx.car.app.category.CHARGING) ( I59da1 )
Изменения API
- API уровня 5: новый метод
onClickв интерфейсеSurfaceCallback, позволяющий интерактивно реагировать на касание карты ( Ia9777 ). - API уровня 5: новые флаги
Action.FLAG_IS_PERSISTENTиAction.FLAG_DEFAULTдля описанияAction( I96318 , I5ad70 ) - API уровня 5: новое состояние «включено/выключено» для компонентов
Action,RowиToggle(поддержка хоста появится примерно в версии библиотеки 1.3.0-beta01) ( Id8a09 ) - API уровня 5: отдайте предпочтение новому компоненту
HeaderчерезsetHeaderвPlaceListNavigationTemplate.BuilderиRoutePreviewNavigationTemplate.Builder, отменив существующие методыsetTitleиsetHeaderAction( I30e6a ). - API уровня 5: новый метод
setOnContentRefreshListnerвPlaceListMapTemplate.BuilderиPlaceListNavigationTemplate.Builderдля использования с реализациями нового интерфейсаOnContentRefreshListner. - API уровня 5: новые
setTripTextиsetTripIconвTravelEstimate.Builderдля настройки карточки оценки поездки ( Idcc6d , Ic620d ) - Добавить поддержку
CarIconSpanв заголовокPaneTemplate( Ia1ee0 ) - Добавить поддержку заголовков и текста
CarIconSpanвRow( Ic1e3c ) - Map
ActionStripтеперь может иметь до четырех действий ( If3522 ) - Обновить уровень API автомобильного приложения до 5 ( I26b8e )
- Заголовки/названия теперь необязательны для
PlaceListMapTemplate,PlaceListNavigationTemplate,RoutePreviewNavigationTemplate,GridTemplate,ListTemplate,LongMessageTemplate,MessageTemplate,PaneTemplateиSignInTemplate( I2078d , Icadde ).
Исправления ошибок
- Обновлены правила изменения размера изображения
PaneTemplate, чтобы оно представляло собой квадратную ограничивающую рамку ( Idd72e ). - Исправлено исключение, возникающее при изменении стека экрана после
State.DESTROYED. ( I3c8eb ) - Добавлена проверка на null для получения значка приложения ( I3f710 ).
- Обновление API автомобильного оборудования для использования
STATUS_UNKNOWNвместоSTATUS_UNAVAILABLEпо умолчанию ( Ic9444 ). - Проверьте, существует ли отображение, прежде чем создавать поверхность ( Ice027a )
- Исправлена ошибка
CarValue.equals()связанная соSTATUS_UNIMPLEMENTED( I24451 ).
Версия 1.2
Версия 1.2.0
9 ноября 2022 г.
Выпущен androidx.car.app:app-*:1.2.0 . Версия 1.2.0 содержит следующие изменения.
- Это стабилизационный релиз, в нем нет никаких изменений по сравнению с версией 1.2.0-rc01.
Версия 1.2.0-rc01
23 марта 2022 г.
Выпущен androidx.car.app:app-*:1.2.0-rc01 . Версия 1.2.0-rc01 содержит следующие изменения.
- Это стабилизирующий релиз, API не изменился по сравнению с
v1.2.0-beta02. Добавлены новые экспериментальные функции (API уровня 5), предназначенные для будущих релизов Android Auto и Android Automotive.
Исправления ошибок
- Исправлено исключение, возникающее при изменении стека экрана после
State.DESTROYED. ( I3c8eb ) - Обновлен API
CarSensorsдля указания того, что он не реализован для AAOS ( Idd57b ). - Обновлен
PlaceListMapTempalte.Builder#setCurrentLocationEnabledдля указания того, что ACCESS_COARSE_LOCATION будет достаточным для этой функции ( I510c2 ). - Номер съезда сделан необязательным для маневров с круговым движением ( Ife7d1 )
Версия 1.2.0-beta02
26 января 2022 г.
Выпущен androidx.car.app:app-*:1.2.0-beta02 . Версия 1.2.0-beta02 содержит следующие изменения.
Автомобильные приложения, созданные с использованием этой версии библиотеки для платформы Android Automotive OS теперь можно публиковать в открытом тестовом канале Play Store. Подробнее см. в руководстве по разработке .
Функции, отмеченные как API уровня 4 и ниже, совместимы как с Android Auto 7.2+, так и с новой платформой Android Automotive OS . Предупреждения см. в разделе « Known Issues ниже.
Изменения API
- Добавлен экспериментальный API
setOnContentRefreshListenerдля шаблонов POI ( I6bf22 ).
Исправления ошибок
- Исправлена утечка памяти в
CarAppServiceпри отвязке хоста автомобиля. ( I5c9ca , b/203594731 ) - Обновлена документация Javadoc
CarAppActivity, в нее включены требования для режима запуска singleTask ( Id2f95 ). - Уменьшает визуальные сбои при возобновлении работы. ( Iff7e0 )
Известные проблемы
- Карты
ActionStripвPlaceListNavigationTemplateиRoutePreviewNavigateTemplateначнут становиться доступными в следующих выпускахAndroid AutoиAndroid Automotive OS.
Версия 1.2.0-альфа02
15 декабря 2021 г.
Выпущен androidx.car.app:app-*:1.2.0-alpha02 . Версия 1.2.0-alpha02 содержит следующие изменения.
Функции, отмеченные API уровня 4, были обновлены с экспериментальных до стабильных, включая ActionStrip карты в PlaceListNavigationTemplate и RoutePreviewNavigateTemplate , изображение CarIcon в Pane , QRCodeSignInMethod и возможность задавать подсказки рендеринга (например, флаги) в Action .
Новые функции
- В Android Auto 7.1+ лимит элементов для
Paneувеличен с 2 до 4.
Изменения API
- Добавлен экспериментальный метод
toString()вCarUnit( I36a3b ).
Исправления ошибок
- Исправлен сбой, возникавший в
CarAppPermissionActivity, если обратный вызов не выполнялся ( If9823 ). - Изменен лимит списка
Paneпо умолчанию до 4 ( I0068b )
Версия 1.2.0-альфа01
3 ноября 2021 г.
Выпущен androidx.car.app:app-*:1.2.0-alpha01 . Версия 1.2.0-alpha01 содержит следующие изменения.
Все новые функции v1.2.0 (API 4+) в настоящее время являются экспериментальными и предназначены для будущих версий Android Auto и Android Automotive OS. Подробнее см. в руководстве по разработке .
Изменения API
- API
AutomotiveCarInfoсделан экспериментальным. ( Ia13e5 ) - Добавлен API библиотеки автомобильных приложений уровня 4 ( I2a2e7 )
- API уровня 4: добавлена поддержка настройки
CarIconнаPane( Ifcc12 ). - API уровня 4: добавлен метод входа с помощью QR-кода ( Ib623e )
- API уровня 4: добавлены set/getFlags в
Action( Ic03ab ) - API уровня 4: добавлена поддержка панорамирования и масштабирования в
PlaceListNavigationTemplateиRoutePreviewNavigationTemplate( I9d8a3 )
Исправления ошибок
- API уровня 4: добавить механизм, позволяющий приложениям отправлять обновления местоположения на хост автомобиля ( I3bad3 )
- Исправлена ошибка, из-за которой логика проверки хоста не могла корректно найти разрешение TEMPLATE_RENDERER ( I62618 ).
Версия 1.1.0
Версия 1.1.0
15 декабря 2021 г.
Выпущен androidx.car.app:app-*:1.1.0 . Версия 1.1.0 содержит следующие изменения.
Это релиз для стабилизации, и по сравнению с v1.1.0-rc01 изменений нет. Также см. примечания к выпуску v1.2.0-alpha02 для получения более подробной информации о новых функциях библиотеки автомобильных приложений.
Важные изменения с версии 1.0.0
- API уровня 2:
SignInTemplateиLongMessageTemplate, которые можно использовать для потоков входа, когда транспортное средство припарковано. - API уровня 2: поддержка интерактивности карты в
NavigationTemplate - API уровня 2: поддержка текста различной длины, позволяющая приложениям предоставлять несколько версий строки для отображения в зависимости от размеров экрана автомобиля.
- API уровня 3:
CarHardwareManager, который можно использовать для запроса данных об оборудовании транспортного средства, таких как модель и марка, уровень топлива и другие датчики.
Версия 1.1.0-rc01
3 ноября 2021 г.
Выпущен androidx.car.app:app-*:1.1.0-rc01 . Версия 1.1.0-rc01 содержит следующие изменения.
Это стабилизирующий выпуск, API не содержит изменений по сравнению с v1.1.0-beta01 . Добавлены новые экспериментальные функции (API уровня 4), предназначенные для будущих выпусков Android Auto. Подробнее об экспериментальных API см. в примечаниях к выпуску v1.2.0-alpha01
Версия 1.1.0-beta01
1 сентября 2021 г.
Выпущен androidx.car.app:app-*:1.1.0-beta01 . Версия 1.1.0-beta01 содержит следующие изменения.
Все функции v1.1.0 (API 2+) полностью совместимы с Android Auto 6.7 и более поздними версиями. Подробнее см. в руководстве по разработке .
Изменения API
- Удален
Managerкак публичный интерфейс ( Ie381b ) - Добавлена возможность установки фирменного фона для запроса разрешения ( I74b76 ).
- Добавлен
ScreenManager.getStackSize( I0b16a ) - Удален конструктор
ScreenController, который явно принимаетTestCarContext( Iefebc ).
Исправления ошибок
- Добавлена проверка уровня API при создании
CarHardwareManager( I48f9b ) - Добавлены проверки на недопустимое использование
CarSpanв API ( I65ae6 ). - Исправлена ошибка, из-за которой, если
Screenбыл помечен как завершенный во время его создания, стек оставался в поврежденном состоянии ( I81b13 ). - Исправлена ошибка, из-за которой
CarNotificationManager.notifyрегистрировал ошибку для AutomotiveOS при наличии действий со значками вCarAppExtender( I3633d ). - Добавлен метод подтверждения связи между приложением и хостом для установления версии API ( I7d6f8 ).
Версия 1.1.0-альфа02
21 июля 2021 г.
Выпущен androidx.car.app:app-*:1.1.0-alpha02 . Версия 1.1.0-alpha02 содержит следующие изменения.
Новые функции
- API уровня 3: Добавлен
CarHardwareManager, который можно использовать для запроса данных об оборудовании автомобиля, таких как модель и марка, уровень топлива и другие датчики. В настоящее время эта функция доступна только для Android Auto 6.7+ в канале открытого тестирования. Для тестирования на настольном компьютере требуется новая версияDesktop Head Unit, которая будет выпущена отдельно. Следите за новостями на странице «Тестирование приложений Android для автомобилей», чтобы узнать, когда станет доступна новая версия. - Дополнительную информацию и рекомендации по проектированию, касающиеся использования этих функций в автомобильных хостах, совместимых с API уровня 3, см. в руководстве по разработке и справочнике по библиотеке.
Изменения API
- Объединены методы жизненного цикла
SessionControllerиScreenControllerв один методmoveToState( I1ed00 ) - Добавлен
CarContext#getHostInfo()( I8977e ) - Удалены устаревшие поля. ( I67168 )
- Обновлены
SessionControllerиScreenControllerдля прямого предоставления конструкторов ( Iabf22 ). - Удалены
PinSignInMethod.BuilderиProviderSignInMethod.Builder( I9f0cb ) - Добавлен метод setCarAppResult(), позволяющий использовать шаблонные приложения для получения результата в AAOS ( I37741 ).
- Аннотированные интерфейсы
CarHardwareс@MainThread. ( Ib2f85 ) - Переименован
OnCarDataListenerвOnCarDataAvailableListener( I518ca ) - Обновлены названия методов
CarInfo,Speed,Mileageи документация Javadoc. ( I86672 ) - Переименовано
TollвTollCard. ( I3e7c8 ) - Удален устаревший
PinSignInMethod.getPin, который заменен наPinSignInMethod.getPinCode( I996ce ). - Удален
OnInputCompletedListener(заменен наInputCallback). ( Ib5be1 ) - Изменен
PinSignInMethodдля приемаCharSequenceвместоString( I275d5 ).
Исправления ошибок
- Исправления Javadoc для автомобильного оборудования. ( I2abbc )
Внешний вклад
Известные проблемы
- Использование метода
InputSignInMethodвSignInTemplateможет привести к исключениюNullPointerExceptionв хосте car. Эта проблема будет устранена в следующем выпуске библиотеки. Чтобы обойти эту проблему, добавьте следующую строку в конфигурацию Proguard вашего приложения:-keep class androidx.car.app.model.signin.InputSignInMethod { *; }
Версия 1.1.0-альфа01
16 июня 2021 г.
Выпущены androidx.car.app:app:1.1.0-alpha01 , androidx.car.app:app-automotive:1.1.0-alpha01 и androidx.car.app:app-testing:1.1.0-alpha01 . Версия 1.1.0-alpha01 содержит эти коммиты.
Новые функции
- API уровня 2: новые
SignInTemplateиLongMessageTemplate, которые можно использовать для потоков входа, когда транспортное средство припарковано. - API уровня 2: новая поддержка интерактивности карты в
NavigationTemplate - API уровня 2: новая поддержка текста различной длины, позволяющая приложениям предоставлять несколько версий строки для отображения в зависимости от размеров экрана автомобиля.
- Дополнительную информацию и рекомендации по проектированию, касающиеся использования этих функций в автомобильных хостах, совместимых с API уровня 2, см. в руководстве по разработке и в документации Javadoc к библиотеке.
Изменения API
- Все методы интерфейса
*Callbackсделаны по умолчанию и переименованы вOnRequestPermissionsCallback->OnRequestPermissionsListener( Ib3ec9 ) - Обновлены классы
androidx.car.app.hardwareдля удаления ненужных компоновщиков и классов параметров. ( I67beb ) - Добавлены классы
androidx.car.app.hardwareдля доступа к данным о конкретном автомобиле, таким как уровень топлива, заряд батареи и скорость. ( Iff3c9 ) - Добавлена поддержка
ActionStripвMessageTemplate( Ida657 ) - Добавлен
setLoadingвMessageTemplate. ( I2a4b5 ) -
ConnectionToCarпереименован вCarConnection( Ife9bd ) - Изменен
NavigationTemplateдля возврата явногоPanModeDelegate( I13877 ). - Обновлен порядок параметров для
CarContext.requestPermissions( Ib890a ) - Обновлен ключ метаданных для определения минимального уровня API автомобиля до
androidx.car.api.minCarApiLevel( Ib0d41 ). - Создан API, позволяющий наблюдать за состоянием подключения автомобиля ( Ifc935 ).
- Добавлена поддержка установки переключателя для
Actionи добавлен типActionрежима панорамирования ( Ica6af ). - Создан
CarNotificationManagerдля поддержки отправки уведомлений в автомобиле ( I10d7a ). - Добавлен
ConstraintManagerдля предоставления ограничений списка с хоста ( I8690e ). - Добавлен API режима панорамирования и полосы действий карты в
NavigationTemplate( I77aa6 ) - Добавлен API панорамирования и масштабирования в
SurfaceCallbackдля навигационных приложений ( Id5e9d ). - Обновлен
CarAppApiLevelдо 2 ( Ic1540 ) - Добавлена возможность запрашивать разрешения у
CarAppService( I5421e ). - Добавлена аннотация
RequiresCarApi(2)к многотекстовому API ( Iacb62 ). - Разрешено несколько вариантов текста в заголовке шаблона полусписка ( Ib8df7 )
- Добавлен новый
LongMessageTemplate(требуется Car API уровня 2) ( Ic5cee )
Исправления ошибок
- Обновлены требования к размеру изображения с учетом больших экранов автомобилей ( I116dc ).
- Запрещено добавлять более 2 действий в тела шаблонов ( I32157 )
- Обеспечено, чтобы все создания
PendingIntentв библиотеке автомобильных приложений устанавливали флаги. ( If84fe , b/186394900 ) - Обновлена документация Javadoc, чтобы разрешить изменение текста
Rowпри обновлении ( If3f9c ) -
androidx.activity:activity:1.2.0теперь является зависимостью API ( Id1cb9 ) - В тело
SignInTemplateиLongMessageTemplateвнесены изменения, требующие действий только припаркованного автомобиля, а также обновлена документация с указанием того, что они будут отображаться только при припаркованном автомобиле ( Iddaa9 ). - Исправлено исключение, возникающее при появлении
Screenво время запуска ( Ifcf40 , b/184664896 ). - Разрешен пользовательский цвет текста в
ForegroundCarColorSpan( I69e59 ) - Исправлена проблема, при которой
ON_DESTROYвSessionнаблюдался послеON_DESTROYScreen( I52e01 , b/183696617 ) - Обновлена документация Javadoc о том, когда допускается установка неизвестного оставшегося времени
TravelEstimate. ( I99610 , b/183632456 ) - Обновленное
Actionдля поддержкиForegroundColorSpanв заголовке и любого пользовательского цвета фона ( I578e4 ) - Не выполнять
NavigationManagerCallback#onStopNavigationесли обратный вызов очищен до выполнения исполнителя ( I7fc5e , b/181143772 ) - Исправлена проблема, требующая явного принятия приложением зависимости от lifecycle-common-java8 ( I8b8c8 ).
Известные проблемы
- В
SignInTemplateэкранная клавиатура отображает значок «поиск» вместо значка «Enter», когда пользователь хочет подтвердить ввод. В качестве обходного решения пользователи могут использовать телефонную клавиатуру, которая активируется, когда поле ввода находится в фокусе. - В Android Auto версии 6.5 обратные вызовы панорамирования и масштабирования в
SurfaceCallbackмогут неправильно вызываться для некоторых сенсорных жестов.
Тестирование автомобильного приложения версии 1.0.0
Версия 1.0.0-альфа01
24 марта 2021 г.
Выпущен androidx.car.app:app-testing:1.0.0-alpha01 . Версия 1.0.0-alpha01 содержит следующие изменения.
Это первый релиз Jetpack ранее закрытой тестовой библиотеки. Ознакомьтесь с нашими примерами использования этой библиотеки в тестах.
Новые функции
- Контроллеры для классов моделей были удалены. Геттеры моделей теперь являются частью общедоступного API, что позволяет проверять значения, заданные в конструкторах.
- Предыдущий
CarAppServiceControllerбыл заменен новымSessionControllerдля тестирования логики, связанной с срок службы подключения к горячим.
Версия 1.0.0
Версия 1.0.0
21 апреля 2021 г.
androidx.car.app:app:1.0.0 выпускается. Версия 1.0.0 содержит эти коммиты.
Основные особенности 1.0.0
- В начале апреля мы объявили , что приложения могут начать публиковать в производственном канале, используя
androidx.car.app:app:1.0.0-rc01. Библиотека приложений CAR V1.0.0 теперь стабильна и полностью совместима с Android Auto 6.1 и выше. - Следуйте руководству по разработке для получения подробной информации о том, как создать навигацию, парковку и зарядку приложений для Android Auto с помощью библиотеки.
Исправления ошибок
- Исправлена исключение, которое происходит при вызове
Screenво время запуска ( 70AAE1 , b/184664896 ) - Исправлена проблема, где
ON_DESTROYнаSessionнаблюдается послеScreenON_DESTROY( 0ceecb , b/183696617 )
Версия 1.0.0-RC01
24 марта 2021 года
androidx.car.app:app:1.0.0-rc01 выпущен. Версия 1.0.0-RC01 содержит эти коммиты.
Исправления ошибок
- Исправлена ошибка в условиях гонки, где
NavigationManagerCallback#onStopNavigationвызывали после того, как обратный вызов был очищен. Это произошло, если обратный вызов был очищен до того, как исполнител обратного вызова фактически запустился ( i7fc5e , b/181143772 ) - Исправлена проблема, которая требовала, чтобы приложение явно зарекомендовала себя от
lifecycle-common-java8( i8b8c8 ) - Исправлена
NullPointerException, которое было брошено, когда приложение получает звонокstopNavigation, когда оно уже удалило обратный вызов ( IB8B89 , B/181143772 ) - Улучшения не отправлять вызовы в приложение, если его жизненный цикл не по крайней мере в
CREATEDсостоянии ( I86965 , B/179800224 , B/177921120 ) - Исправлена проблема, в которой бросает неверный мин API, указанный в манифесте приложения, вызывая ANR на хосте. ( Iffedd , B/174231592 )
Версия 1.0.0-бета01
24 февраля 2021 года
androidx.car.app:app:1.0.0-beta01 выпускается. Версия 1.0.0-BETA01 содержит эти коммиты.
Это первый выпуск JetPack ранее библиотеки с закрытым исходным кодом и совместим с Android Auto 6.1 или выше. Следуйте руководству по разработке для получения подробной информации о том, как создавать автомобильные приложения с помощью библиотеки.
Новые функции
- Представил
GridTemplate, который ваше приложение может использовать для отображения списка элементов пользовательского интерфейса в макете сетки. - Представил метод
CarAppService.createHostValidator, чтобы подтвердить, что соединение хоста принадлежит надежному источнику (например, Android Auto). - Добавлена
CarAppExtender.Builder.setColorapi. ( B/174231592 )
Исправления ошибок
- Исправлена проблема, в которой неверный
Screenвозобновится при последовательности экранов. ( B/177590791 )