Автомобильное приложение
Последнее обновление | Стабильный релиз | Кандидат на релиз | Бета-релиз | Альфа-релиз |
---|---|---|---|---|
20 мая 2025 г. | 1.4.0 | 1.7.0-rc01 | - | 1.8.0-альфа01 |
Объявление зависимостей
Чтобы добавить зависимость от Car App Library, необходимо добавить репозиторий Google Maven в свой проект. Прочитайте репозиторий Google Maven для получения дополнительной информации.
Добавьте зависимости для необходимых артефактов в файл build.gradle
для вашего приложения или модуля:
классный
dependencies { implementation "androidx.car.app:app:1.4.0" // For Android Auto specific functionality implementation "androidx.car.app:app-projected:1.4.0" // For Android Automotive specific functionality implementation "androidx.car.app:app-automotive:1.4.0" // For testing testImplementation "androidx.car.app:app-testing:1.4.0" }
Котлин
dependencies { implementation("androidx.car.app:app:1.4.0") // For Android Auto specific functionality implementation("androidx.car.app:app-projected:1.4.0") // For Android Automotive specific functionality implementation("androidx.car.app:app-automotive:1.4.0") // For testing testImplementation("androidx.car.app:app-testing:1.4.0") }
Дополнительную информацию о зависимостях см. в разделе Добавление зависимостей сборки .
Обратная связь
Ваши отзывы помогают сделать Jetpack лучше. Сообщите нам, если вы обнаружите новые проблемы или у вас есть идеи по улучшению этой библиотеки. Пожалуйста, ознакомьтесь с существующими проблемами в этой библиотеке, прежде чем создавать новую. Вы можете добавить свой голос к существующей проблеме, нажав кнопку со звездочкой.
Более подробную информацию смотрите в документации Issue Tracker .
Версия 1.8
Версия 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, который позволяет комбинировать подразделы, состоящие из списков/сеток.
- Добавлен Extra-Large как дополнительный размер для элементов сетки.
Изменения 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-rc01
15 января 2025 г.
androidx.car.app:app-*:1.7.0-rc01
выпущен без заметных изменений по сравнению с beta03. Версия 1.7.0-rc01 содержит эти коммиты .
- Это первый RC, который включает исправление для 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 ) - Эта библиотека теперь использует аннотации nullness JSpecify , которые являются type-use. Разработчики 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, который все еще находится в статусе dev. 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
для поддержки выбираемых списков ( I961ed ) - Устранить ограничение для действий заголовка, чтобы разрешить использование пользовательских значков. ( 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 приложения Car до 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 содержит эти коммиты.
- Это стабилизационный релиз, в котором нет никаких изменений по сравнению с v1.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
, которая будет выпущена отдельно. Следите за обновлениями на странице Test Android apps for cars, чтобы узнать, когда станет доступна новая версия. - Для получения дополнительных сведений и рекомендаций по проектированию использования этих функций в автомобильных хостах, совместимых с 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 )
Внешний вклад
Известные проблемы
- В
SignInTemplate
использованиеInputSignInMethod
может привести к исключениюNullPointerException
в хосте автомобиля. Это будет исправлено в следующем выпуске библиотеки. Чтобы обойти эту проблему, включите эту строку в конфигурацию 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
экранная клавиатура показывает значок «поиск» вместо значка «ввод», когда пользователь хочет подтвердить ввод. В качестве обходного пути пользователи могут получить доступ к клавиатуре телефона, которая активируется, когда поле ввода находится в фокусе. - В 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 App Library v1.0.0 теперь стабильна и полностью совместима с Android Auto 6.1 и выше. - Подробную информацию о создании приложений навигации, парковки и зарядки для Android Auto с использованием библиотеки см. в руководстве по разработке .
Исправление ошибок
- Исправлено исключение, возникающее при появлении
Screen
во время запуска ( 70aae1 , b/184664896 ). - Исправлена проблема, при которой
ON_DESTROY
вSession
наблюдался послеON_DESTROY
Screen
( 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-beta01
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 )