Автомобильное приложение
Последнее обновление | Стабильный релиз | Кандидат на релиз | Бета-версия | Альфа-релиз |
---|---|---|---|---|
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_DESTROY
Screen
( 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
наблюдается послеScreen
ON_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.setColor
api. ( B/174231592 )
Исправления ошибок
- Исправлена проблема, в которой неверный
Screen
возобновится при последовательности экранов. ( B/177590791 )