Автомобильное приложение
Последнее обновление | Стабильный выпуск | Кандидат на выпуск | Бета-версия | Альфа-релиз |
---|---|---|---|---|
13 ноября 2024 г. | 1.4.0 | - | 1.7.0-бета03 | - |
Объявление зависимостей
Чтобы добавить зависимость от библиотеки автомобильных приложений, необходимо добавить в свой проект репозиторий Google Maven. Для получения дополнительной информации прочтите репозиторий Google Maven .
Добавьте зависимости для нужных вам артефактов в файл build.gradle
для вашего приложения или модуля:
Groovy
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" }
Kotlin
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 лучше. Дайте нам знать, если вы обнаружите новые проблемы или у вас есть идеи по улучшению этой библиотеки. Пожалуйста, ознакомьтесь с существующими проблемами в этой библиотеке, прежде чем создавать новую. Вы можете добавить свой голос к существующей проблеме, нажав кнопку со звездочкой.
Дополнительную информацию см . в документации по системе отслеживания проблем .
Версия 1.7
Версия 1.7.0-бета03
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
. ( я201f9 ) - Устраните пустой конструктор Builder в
ConversationItem
и замените его конструктором, принимающим необходимые параметры. Также добавляет проверку для защиты от пустых сообщений. ( Ic8221 )
Исправления ошибок
- Убедитесь, что карта
PlaceList
использует строковый (только текст) заголовок заголовка. ( Ic992f ) - Эта библиотека теперь использует аннотации NULL NULL JSpecify , которые являются типизированными. Разработчики Kotlin должны использовать следующие аргументы компилятора для обеспечения правильного использования:
-Xjspecify-annotations=strict, -Xtype-enhancement-improvements-strict-mode
. ( Ib5367 , б/326456246 )
Версия 1.7.0-бета02
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 , б/345472586 )
Версия 1.7.0-бета01
26 июня 2024 г.
androidx.car.app:app-*:1.7.0-beta01
выпущен. Версия 1.7.0-beta01 содержит эти коммиты . Функции такие же, как опубликованные в альфа01, которые повторяются ниже:
Новые возможности
- Карта с контентом: новый шаблон — холст карты плюс шаблон контента, который на данный момент может быть списком/сеткой/панелью/сообщением.
-
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, чтобы избежать сбоев. ( МЭК676 )
Версия 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
, шаблоны карт больше не поддерживаются. - Примеры приложений были обновлены, чтобы показать функциональность устаревших шаблонов, использующих
MapWithContent
.
-
- Объект разговора : новые API для отображения разговоров (IM, SMS) и показаний Ассистента в автомобиле.
- Размеры транспортного средства : новый API для получения размеров транспортного средства (на данный момент данные по AAOS).
Изменения API
- Отметить тип изображения очень маленькой строки как экспериментальный ( I5184b ).
- Добавлен API
CarInfo#fetchExteriorDimensions
, который обеспечивает доступ к информации о внешних размерах автомобиля, такой как высота, ширина и т. д. ( Ia40c5 ). - Удален тег
ExperimentalAPI
изMapWithContentTemplate
( I66db8 ). - Обновите параметр
GridItem#setTitle
, чтобы он имел значение NULL. ( I3d610 ) -
GetHeader
API не требует 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
на «Просмотр специального действия». ( 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-бета02
20 сентября 2023 г.
androidx.car.app:app-*:1.4.0-beta02
выпущен. Версия 1.4.0-beta02 содержит эти коммиты. . Это почти идентично beta01, но снижает требования compileSdk
до 33.
Исправления ошибок
- Исправлена ошибка, из-за которой экраны загрузки на вкладках не отображались должным образом. ( cae860 )
Версия 1.4.0-бета01
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-документацию для оформления строки и дополнительных действий. ( я000b6 )
Версия 1.3
Версия 1.3.0-rc01
7 декабря 2022 г.
androidx.car.app:app-*:1.3.0-rc01
выпущен. Версия 1.3.0-rc01 содержит эти коммиты.
- Небольшие исправления ошибок из бета01. Никаких серьезных изменений.
Версия 1.3.0-бета01
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
не обрезается, когда машина припаркована, а обрезается до двух строк во время движения. ([API 5 - All Templates]
) - Поддержка отключенного состояния для
Action
,Toggle
,Row
([API 5 - All Templates]
)
Изменения API
- Ослабьте ограничения в списке
MapTemplate
для поддержки списков выбора ( I961ed ). - Удалите ограничение для действий с заголовком, чтобы разрешить использование пользовательских значков. ( Иад28ф )
- Добавьте ограничение
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 ) - Добавлена проверка на нулевое значение для получения значка приложения ( 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-бета02
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 , б/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
s, QRCodeSignInMethod
и возможность устанавливать подсказки отрисовки (например, флаги) в Action
s.
Новые возможности
- В 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-бета01
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 )
Внешний вклад
Известные проблемы
- В
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: новая поддержка текста различной длины, позволяющая приложениям предоставлять несколько версий строки для отображения в зависимости от размеров экрана автомобиля.
- Следуйте руководству по разработке и библиотеке Javadoc для получения дополнительных сведений и рекомендаций по проектированию использования этих функций в автомобильных хостах, совместимых с уровнем API 2.
Изменения 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 ).
- Запрещено добавление более двух действий в тело шаблона ( I32157 ).
- Обеспечено все создание
PendingIntent
в флагах набора автомобильных приложений. ( If84fe , б/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 ). - Обновлена документация Java, когда разрешена установка оставшегося времени
TravelEstimate
на неизвестное время. ( I99610 , р/183632456 ) - Обновлено
Action
для поддержкиForegroundColorSpan
в заголовке и любого пользовательского цвета фона ( I578e4 ). - Не выполнять
NavigationManagerCallback#onStopNavigation
, если обратный вызов очищается до выполнения исполнителя ( I7fc5e , b/181143772 ) - Исправлена проблема, из-за которой приложение должно было явно зависеть от жизненного цикла-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
. Библиотека автомобильных приложений версии 1.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-бета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 )