Автомобильное приложение

Создавайте шаблонные приложения для Android Auto и Android Automotive OS.
Последнее обновление Стабильный релиз Предварительная версия релиза Бета-версия Альфа-версия
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 )

Исправлены ошибки

Версия 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 . Обновлена ​​документация API MapWithContentTemplate ( 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 ).

Исправлены ошибки

Версия 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 SurfaceCallback may 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 CarAppServiceController has been replaced by the new SessionController for 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 Screen during start ( 70aae1 , b/184664896 )
  • Fixed an issue where ON_DESTROY on a Session is observed after a Screen 's ON_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#onStopNavigation was 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 NullPointerException that was thrown when the app receives a stopNavigation call 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 CREATED state ( 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.

Новые функции

Исправлены ошибки

  • Fixed an issue where the wrong Screen is resumed when popping screens sequentially. ( b/177590791 )