Автомобильное приложение
| Последнее обновление | Стабильный релиз | Предварительная версия релиза | Бета-версия | Альфа-версия |
|---|---|---|---|---|
| 22 апреля 2026 г. | 1.7.0 | - | 1.8.0-beta01 | - |
Объявление зависимостей
Чтобы добавить зависимость от библиотеки 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-beta01
22 апреля 2026 г.
Выпущена версия androidx.car.app:app-*:1.8.0-beta01 . Версия 1.8.0-beta01 содержит следующие коммиты .
Новые функции
- Добавлена поддержка шаблонов для элементов, разделенных на разделы, что позволяет создавать более сложные списки и сетки.
- Расширенная поддержка воспроизведения мультимедиа.
- Добавлена поддержка
IMAGE_TYPE_MEDIUMвRowImageType. - Добавлено действие Intent
ACTION_MEDIA_SHOW_PLAYBACK_VIEWдля запуска экранов воспроизведения мультимедиа.
Изменения в API
- Добавлена поддержка
IMAGE_TYPE_MEDIUMвRowImageType( I76108 ) - Добавьте действие Intent
ACTION_MEDIA_SHOW_PLAYBACK_VIEW. Когда это действие отправляется Activity, которая его поддерживает, оно указывает, что приложение должно запустить свой экран воспроизведения или соответствующий экран в противном случае ( If29db , b/455949944 ).
Исправлены ошибки
- Изменение поведения по умолчанию для разрабатываемого
SectionedItemTemplateс целью сохранения состояния прокрутки при обновлении шаблона и возврате назад ( I6c9cc , b/461256656 )
Версия 1.8.0-alpha03
19 ноября 2025 г.
Выпущена версия androidx.car.app:app-*:1.8.0-alpha03 . Версия 1.8.0-alpha03 содержит следующие коммиты .
Новые функции
- Добавлено изображение к строкам, что открывает новые возможности использования списков.
- Добавьте
SectionedItemTemplate#alphabeticalIndexingStrategy, чтобы разрешить различную алфавитную индексацию для акселераторов списков.
Изменения в API
- Добавлен тип
endImageTypeдляendImagesв строках ( I8865b ) - Добавьте
SectionedItemTemplate#alphabeticalIndexingStrategy. Это замена#isAlphabeticalIndexingAllowedи предоставляет разработчикам больше возможностей для алфавитной индексации. ( Ia164d , b/410092683 ) - Добавить поддержку конечного изображения в строку автомобильного приложения. ( If93f0 )
- Добавлена функция
CarIcon MediaPlaybackдля упрощения использования стандартного действияMediaPlayback. ( Ib6cb7 )
Исправлены ошибки
- Перенос
minSdkпо умолчанию с API 21 на API 23 ( Ibdfca , b/380448311 , b/435705964 , b/435705223 )
Версия 1.8.0-alpha02
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-alpha01
20 мая 2025 г.
Выпущена версия androidx.car.app:app-*:1.8.0-alpha01 . Версия 1.8.0-alpha01 содержит следующие коммиты .
Новые функции
Все возможности временно доступны только в Android Auto. Для всех версий AAOS будут использоваться одни и те же API.
- Добавлена категория «Медиа» для создания пользовательских приложений в качестве альтернативы приложениям, использующим
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 содержит следующие коммиты .
- Это первый 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 ) - В этой библиотеке теперь используются аннотации JSpecify, определяющие наличие нулевого значения , которые относятся к использованию типов. Разработчикам 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 для отображения переписки (мессенджеры, SMS) и информации от голосового помощника в автомобиле.
- Габариты транспортного средства: Новый API для получения данных о размерах транспортного средства (в настоящее время данные доступны на AAOS).
Изменения в API
- Добавьте тег
@ExperimentalCarApiвMediaPlaybackTemplate.Builder. ( Ic1957 ) - Добавляет новый
SectionedItemTemplateв экспериментальную версию. ( I5958a ) - Представляем
CarAppApiLevel 8( I3fa22 ) - Добавляет
MediaPlaybackTemplateдля отображения контента во время воспроизведения мультимедиа в библиотеке автомобильных приложений. ( I3c10d ) - Добавлен новый API для приложений, позволяющий определять, поддерживает ли система фоновое воспроизведение звука во время вождения ( I0f868 ).
Исправлены ошибки
- Исправлены некоторые случаи утечек памяти и сбоев в коде клиента CAL и в примере приложения CAL Navigation Sample App. ( I55e04 )
- Замените
requireNotNull instancesв методеonDestroyклассаBaseCarAppActivityпроверками на null, чтобы избежать сбоев. ( Iec676 )
Версия 1.7.0-alpha02
17 апреля 2024 г.
Выпущена версия androidx.car.app:app-*:1.7.0-alpha02 . Версия 1.7.0-alpha02 содержит следующие коммиты .
Новые функции
- Добавлены устаревшие флаги для шаблонов на основе карт, которые в дальнейшем будут использоваться в шаблонах
MapWithContent.
Изменения в API
- Устаревшие
MapTemplate,RoutePreviewNavigationTemplate,PlaceListNavigationTemplateследует считать устаревшими, а использование новогоMapWithContentTemplate( Ib0a08 ) рекомендуется поощрять.
Версия 1.7.0-alpha01
3 апреля 2024 г.
Выпущена версия androidx.car.app:app-*:1.7.0-alpha01 . Мы изменили схему версионирования нашей библиотеки, чтобы она соответствовала активной версии CarApi. Это сделано для уменьшения путаницы в схеме именования на основе отзывов разработчиков. В результате мы пропустим версии 1.5 / 1.6 и перейдем непосредственно к версии 1.7. Версия 1.7.0-alpha01 содержит следующие коммиты .
Новые функции
- Карта с содержимым : Новый шаблон под названием
MapWithContent, который поддерживает использование списков/сеток/панелей/сообщений в качестве содержимого внутри карты.-
RoutePreview,PlaceListNavigationи шаблоны карт устарели. - В примеры приложений внесены изменения, демонстрирующие функциональность устаревших шаблонов, использующих
MapWithContent.
-
- Предмет разговора : Новые API для отображения разговоров (мессенджеры, 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
- См. alpha02
Версия 1.4.0-alpha02
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 ) - Добавить свойство icon к значку ( I629b2 )
- Добавить метод для установки цвета фона значка точки ( I6411c )
- Добавьте свойство Badge к
GridItem, позволяющее отображать значок поверх изображенияGridItem. ( I95de7 ) - Добавлен экспериментальный объект Badge, который будет представлять собой значок, отображаемый поверх изображения. ( I9878d )
Версия 1.4.0-alpha01
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 содержит следующие коммиты.
- Исправлены незначительные ошибки из бета-версии 01. Существенных изменений нет.
Версия 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-alpha01
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 Level 5: новый
MapTemplate, который может использоваться навигационными приложениями для отображения содержимого в виде панелей или списков рядом с картой ( If5826 , If44b8 ). - API уровня 5: новый API
CarAudioRecord, позволяющий записывать аудиовход через микрофон автомобиля ( I5e71a ) - API уровня 5: новый API
SuggestionManager, позволяющий приложениям предоставлять подсказки хосту ( I5c103 ) - API уровня 5: новый API
Alertдля отображения контекстных уведомлений вNavigationTemplate( I163a7 , I5ad70 ) - API Level 5: новые компоненты
HeaderиMapControllerдля упрощения повторного использования в разных шаблонах ( If5826 ) - Добавлена категория
androidx.car.app.category.POIдля включения приложений POI (и устарелиandroidx.car.app.category.PARKINGиandroidx.car.app.category.CHARGING) ( I59da1 )
Изменения в API
- API Level 5: новый метод
onClickв интерфейсеSurfaceCallback, позволяющий взаимодействовать с картой при касании ( Ia9777 ) - API уровня 5: новые флаги
Action.FLAG_IS_PERSISTENTиAction.FLAG_DEFAULTдля описанияAction( I96318 , I5ad70 ). - API Level 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 Level 5: Новые
setTripTextиsetTripIconвTravelEstimate.Builderдля настройки карточки оценки стоимости поездки ( Idcc6d , Ic620d ) - Добавить поддержку
CarIconSpanв заголовкеPaneTemplate( Ia1ee0 ) - Добавить поддержку элементов
CarIconSpanв заголовке и текстеRow( Ic1e3c ) - Теперь панели
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 содержит следующие коммиты.
- Это стабилизирующий релиз, и по сравнению с
v1.2.0-beta02изменений API нет. Добавлены новые экспериментальные функции (уровень 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 ) - Обновлена документация
CarAppActivity, теперь в ней указаны требования для режима запуска singleTask ( Id2f95 ). - Уменьшает визуальный сбой при возобновлении работы. ( Iff7e0 )
Известные проблемы
- Панели
ActionStripкартой в шаблонахPlaceListNavigationTemplateиRoutePreviewNavigateTemplateстанут доступны в следующих версияхAndroid AutoиAndroid Automotive OS.
Версия 1.2.0-alpha02
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
- В
CarUnit( I36a3b ) добавлен экспериментальный методtoString().
Исправлены ошибки
- Исправлена ошибка, приводившая к сбою в
CarAppPermissionActivity, если функция обратного вызова не выполнялась ( If9823 ). - Изменено ограничение на количество элементов в списке по умолчанию
Paneдо 4 ( I0068b )
Версия 1.2.0-alpha01
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-интерфейс Car App Library уровня 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 содержит следующие коммиты.
Это стабилизирующий релиз, и по сравнению с версией v1.1.0-beta01 изменений API нет. Добавлены новые экспериментальные функции (уровень 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-alpha02
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()' для включения использования шаблонных приложений 'for result' в AAOS ( I37741 )
- Аннотированные интерфейсы
CarHardwareс@MainThread. ( Ib2f85 ) - Переименован
OnCarDataListenerвOnCarDataAvailableListener( I518ca ) - Обновлены названия методов и документация Javadoc
CarInfo,SpeedиMileage. ( I86672 ) -
Tollпереименован вTollCard. ( I3e7c8 ) - Удалён устаревший
PinSignInMethod.getPin, который заменён наPinSignInMethod.getPinCode( I996ce ). - Удалён
OnInputCompletedListener(заменён наInputCallback). ( Ib5be1 ) - Изменен
PinSignInMethod, теперь он принимаетCharSequenceвместоString( I275d5 )
Исправлены ошибки
- Исправления в документации Javadoc для автомобильного оборудования ( I2abbc ).
Внешний вклад
Известные проблемы
- В
SignInTemplateиспользованиеInputSignInMethodможет привести кNullPointerExceptionв хосте car. Эта проблема будет решена в следующем релизе библиотеки. Чтобы обойти эту проблему, добавьте следующую строку в конфигурацию Proguard вашего приложения:-keep class androidx.car.app.model.signin.InputSignInMethod { *; }
Версия 1.1.0-alpha01
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 Level 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 ). - Fixed an issue that require the app to explicitly take on a dependency on lifecycle-common-java8 ( I8b8c8 )
Известные проблемы
- In the
SignInTemplate, the on-screen keyboard shows a “search” icon instead of an “enter” icon when the user wants to confirm the input. As a workaround, users can access the phone keyboard that activates when the input field is in focus. - In Android Auto version 6.5, the pan and zoom callbacks in
SurfaceCallbackmay be incorrectly invoked for some touch gestures.
Car App Testing Version 1.0.0
Версия 1.0.0-alpha01
24 марта 2021 г.
androidx.car.app:app-testing:1.0.0-alpha01 is released. Version 1.0.0-alpha01 contains these commits.
This is the first Jetpack release of the previously closed source testing library. Refer to our samples on how to use this library in your tests.
Новые функции
- The controllers for the model classes have been removed. Model getters are now part of the public API surface which allows for validating values that were set in the builders.
- The previous
CarAppServiceControllerhas been replaced by the newSessionControllerfor testing logic related to the lifetime of the connection to the hots.
Версия 1.0.0
Версия 1.0.0
21 апреля 2021 г.
androidx.car.app:app:1.0.0 is released. Version 1.0.0 contains these commits.
Major features of 1.0.0
- In early April, we announced that apps can start publishing to the production channel using
androidx.car.app:app:1.0.0-rc01. Car App Library v1.0.0 is now stable and is fully compatible with Android Auto 6.1 and above. - Follow the development guide for details on how to build navigation, parking, and charging apps for Android Auto using the library.
Исправлены ошибки
- Fixed an exception that occurs when popping a
Screenduring start ( 70aae1 , b/184664896 ) - Fixed an issue where
ON_DESTROYon aSessionis observed after aScreen'sON_DESTROY( 0ceecb , b/183696617 )
Версия 1.0.0-rc01
24 марта 2021 г.
androidx.car.app:app:1.0.0-rc01 is released. Version 1.0.0-rc01 contains these commits.
Исправлены ошибки
- Fixed a race condition bug where
NavigationManagerCallback#onStopNavigationwas being called after the callback was cleared. This happened if the callback was cleared before the callback executor actually ran ( I7fc5e , b/181143772 ) - Fixed an issue that required the app to explicitly take a dependency on
lifecycle-common-java8( I8b8c8 ) - Fixed a
NullPointerExceptionthat was thrown when the app receives astopNavigationcall when it has already removed a callback ( Ib8b89 , b/181143772 ) - Improvements to not dispatch calls to app if its lifecycle is not at least in a
CREATEDstate ( I86965 , b/179800224 , b/177921120 ) - Fixed an issue where an invalid min API specified in the app's manifest would throw, causing an ANR on the host. ( Iffedd , b/174231592 )
Версия 1.0.0-beta01
24 февраля 2021 г.
androidx.car.app:app:1.0.0-beta01 is released. Version 1.0.0-beta01 contains these commits.
This is the first Jetpack release of the previously closed source library, and is compatible with Android Auto 6.1 or above. Follow the development guide for details on how to build car apps using the library.
Новые функции
- Introduced a
GridTemplatewhich your app can use to show a list of UI elements in a grid layout. - Introduced a
CarAppService.createHostValidatormethod to validate that a host connection is from a trusted source (for example, Android Auto). - Added a
CarAppExtender.Builder.setColorAPI. ( b/174231592 )
Исправлены ошибки
- Fixed an issue where the wrong
Screenis resumed when popping screens sequentially. ( b/177590791 )