Car App
| Latest Update | Stable Release | Release Candidate | Beta Release | Alpha Release |
|---|---|---|---|---|
| July 16, 2025 | 1.7.0 | - | - | 1.8.0-alpha02 |
Declaring dependencies
To add a dependency on the Car App Library, you must add the Google Maven repository to your project. Read Google's Maven repository for more information.
Add the dependencies for the artifacts you need in the build.gradle file for
your app or module:
Groovy
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" }
Kotlin
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") }
For more information about dependencies, see Add build dependencies.
Feedback
Your feedback helps make Jetpack better. Let us know if you discover new issues or have ideas for improving this library. Please take a look at the existing issues in this library before you create a new one. You can add your vote to an existing issue by clicking the star button.
See the Issue Tracker documentation for more information.
Version 1.8
Version 1.8.0-alpha02
June 18, 2025
androidx.car.app:app-*:1.8.0-alpha02 is released. Version 1.8.0-alpha02 contains these commits.
New Features
- Added support for
Action.MEDIA_PLAYBACKwhich displays an indicator based on media playback state. - Added support for controlling a user’s scroll position upon refresh of the
SectionedItemTemplate.
API Changes
- Add support for saving a user's scroll position within the
SectionedItemTemplatebetween refreshes. (Ia4c51) - Updated
MEDIA_PLAYBACKaction to enable it for row end action (I05cc4) - Add a new action type (I6cc5a)
- Add
CarAppExtender#addAction(Action)so that any type of action can be added to theCarAppExtender. (Idc4d7) - Made
SectionedItemTemplateaccessible for API 8 and above. (I9a079)
Version 1.8.0-alpha01
May 20, 2025
androidx.car.app:app-*:1.8.0-alpha01 is released. Version 1.8.0-alpha01 contains these commits.
New Features
All capabilities are temporarily only available on Android Auto. The same API’s will be leveraged across AAOS
- Added Media category to create custom application, as an alternative to
MediaBrowsebased ones - Added Playback Template which allows to control the top actions during in Media Playback View (only available to Media apps)
- Added full support for Sectioned Item Template on Android Auto, which allows combinations of sub-sections made of Lists/Grids.
- Added Extra-Large as an additional size for Grid Items.
API Changes
- Add an extra size option for Grid items (I35b58)
- Adds category and permission for media apps to Car App Library (I8e100)
- Added new api for apps to detect whether the
CarAppLibrarymedia category is supported (Ic4b08) - Added
OnItemVisibilityChangeListenerto Section. (I2c2fd) - Added
Mileage#getOdometerKilometersand deprecateMileage#getOdometerMeters(Ic91af)
Bug Fixes
- Fix typo in Javadoc of
CarIcon.setTint(Iabd72) - Updated
Row.Builder#setNumericDecorationdocumentation to reflect how 1 action + numeric decoration is not supported; however 0 or 2 actions + numeric decoration is. (Ic0b08) - Added field for badge icon background color for grid items. (I2b6ae)
Version 1.7
Version 1.7.0
July 16, 2025
androidx.car.app:app-*:1.7.0 is released. Version 1.7.0 contains these commits.
- This is the first stable release that includes the fix for CVE-2024-10382 patched on beta03. If you are using a lower version than 1.7-beta03, please update to use this version.
Version 1.7.0-rc01
January 15, 2025
androidx.car.app:app-*:1.7.0-rc01 is released with no notable changes from beta03. Version 1.7.0-rc01 is a contains these commits.
- This is the first RC that includes the fix for CVE-2024-10382 patched on beta03. If you are using a lower version than 1.7-beta03, please update to use this version.
Version 1.7.0-beta03
November 13, 2024
Fixed a security vulnerability and other general bug fixes. If you are using a lower version, please update to use this version.
androidx.car.app:app-*:1.7.0-beta03 is released. Version 1.7.0-beta03 contains these commits.
API Changes
- Update CAL Serialization / De-serialization code to only handle objects which have the annotation
@CarProtocoldeclared on them. (Ic730e) CarAppExtendercan now be used to extend the frameworkNotification.Builderinstead of onlyNotificationCompat.Builder. (Id3ad7)- Add
KEY_EXCLUDE_MEDIA_ITEM_FROM_MIXED_APP_LISTextra. (I201f9) - Deprecate the empty Builder constructor on
ConversationItemand replace it with a constructor that takes required parameters. Also adds a check to guard against null messages. (Ic8221)
Bug Fixes
- Ensure
PlaceListmap uses string (Text-only) Header title. (Ic992f) - This library now uses JSpecify nullness annotations, which are type-use. Kotlin developers should use the following compiler argument to enforce correct usage:
-Xjspecify-annotations=strict(this is the default starting with version 2.1.0 of the Kotlin compiler). (Ib5367, b/326456246)
Version 1.7.0-beta02
September 18, 2024
androidx.car.app:app-*:1.7.0-beta02 is released. Version 1.7.0-beta02 contains these commits.
API Changes
- Add
KEY_ROOT_HINT_MEDIA_HOST_VERSIONextra (I8796b) - Replace
TabContents.Api8Builderclass with@ExperimentalCarApiconstructor inTabContents.Builderclass (I26fbe) - Add intent action and extras for
CarMediaApp(I50782) - Mark messaging APIs as non-experimental (I0b070)
- Add remote item loading to
SectionedItemTemplate(allows long lists to load without crashing) (I0d122) - Add
SectionedItemTemplateto list of supported templates insideTabTemplatein API 8. (Idc5d6)
Bug Fixes
- Removed manual outlining of access to new platform APIs since this happens automatically via API modeling when using R8 with AGP 7.3 or later (e.g. R8 version 3.3) and for all builds when using AGP 8.1 or later (e.g. D8 version 8.1). Clients who are not using AGP are advised to update to D8 version 8.1 or later. See this article for more details. (I9496c, b/345472586)
Version 1.7.0-beta01
June 26, 2024
androidx.car.app:app-*:1.7.0-beta01 is released. Version 1.7.0-beta01 contains these commits. Features are the same as published in alpha01, which are repeated below:
New Features
- Map with Content: New template a Map Canvas plus a content template, which for now can be List / Grid / Pane / Message.
RoutePreview,PlaceListNavigation,MapTemplateare now deprecated. Templates will continue to work as-is.- Sample apps have been updated to show
MapWithContentusage instead of deprecated templates
- Conversation Item: New APIs for displaying conversations (IM, SMS), and Assistant readout in the car.
- Vehicle Dimensions: New API to retrieve vehicle measures (data on AAOS at the moment).
API Changes
- Add
@ExperimentalCarApitag toMediaPlaybackTemplate.Builder. (Ic1957) - Adds a new
SectionedItemTemplatein experimental. (I5958a) - Introduce
CarAppApiLevel 8(I3fa22) - Adds
MediaPlaybackTemplatefor displaying content during media playback in Car App Library. (I3c10d) - Added new api for apps to detect whether the system supports background audio while driving (I0f868)
Bug Fixes
- Fixes certain instances of memory leaks and crashes in CAL client code and in CAL Navigation Sample App. (I55e04)
- Replace
requireNotNull instancesinBaseCarAppActivity'sonDestroymethod with if-null checks to avoid crashes. (Iec676)
Version 1.7.0-alpha02
April 17, 2024
androidx.car.app:app-*:1.7.0-alpha02 is released. Version 1.7.0-alpha02 contains these commits.
New Features
- Added deprecated flags for map-based templates which
MapWithContenttemplate will power moving forward.
API Changes
- Deprecate old
MapTemplate,RoutePreviewNavigationTemplate,PlaceListNavigationTemplateand encourage use of newMapWithContentTemplate(Ib0a08)
Version 1.7.0-alpha01
April 3, 2024
androidx.car.app:app-*:1.7.0-alpha01 is released. We have moved our library versioning scheme to match the active CarApi version. This is to reduce confusion on the naming scheme based on developer feedback. As a result, we will skip versions 1.5 / 1.6 directly moving to 1.7 Version 1.7.0-alpha01 contains these commits.
New Features
- Map with Content: New template named
MapWithContentwhich supports List / Grid / Pane / Message as Content inside a map.RoutePreview,PlaceListNavigation, Map templates are now deprecated.- Sample apps have been updated to show functionality of deprecated templates using
MapWithContent.
- Conversation Item: New APIs for displaying conversations (IM, SMS), and Assistant readout in the car.
- Vehicle Dimensions: New API to retrieve vehicle measures (data on AAOS at the moment).
API Changes
- Mark extra small row image type as experimental (I5184b)
- Added
CarInfo#fetchExteriorDimensionsAPI which allows access to vehicle exterior dimension information such as height, width, etc (Ia40c5) - Removed
ExperimentalAPItag fromMapWithContentTemplate(I66db8) - Update
GridItem#setTitleparameter to be nullable. (I3d610) GetHeaderAPI does not require API 7 because it is backwards compatible (I8c812)- Add support for
HeaderinListTemplate, deprecateheaderAction,headerTitle,actionStrip(I7ae01) - Deprecate
title,headerAction,actionStripinGridTemplateand add support forHeader(I41a9c) - Remove level 7 requirement for experimental APIs: Badge,
GridTemplateitem size and image shape getters/setters,GridItemmethods for getting/setting Badge. (Id71eb) - Deprecate
title,headerAction,actionStripinPaneTemplate, add newHeadersupport (I23154) - Changed Media Center telemetry from
BroadcastReceiverto Browse Custom Action. (I4185f) - Added
Headerattribute support inMessageTemplate. Deprecated support forActionStrip,headerActionandtitle. (Ie2de8) - Modify alert constant visibility (Icf8a8)
- Remove
isLoadingattribute from the parent template (I651e6) - Add extras to inform media apps of the main UI parameters (I85ca2)
- Add media center analytics feature to
MediaExtensions(I7ce28) - Added option for extra small image on rows. (I72c03)
Bug Fixes
- Update javadoc on
ConversationItemto state that messages should be sorted in order from oldest to newest. (I77a2a) - Update
ListTemplatetruncation logic to remove oldest messages fromConversationItem(Ie0a61)
Version 1.4
Version 1.4.0
May 29, 2024
androidx.car.app:app-*:1.4.0 is released. Version 1.4.0 is a promotion of 1.4.0-rc02.
Important changes since 1.3.0
- Instrument Cluster map rendering for Navigation apps
- New Tab Template for improved app layout / usability
- Support for Adaptive task limits
- Secondary actions on list elements
Version 1.4.0-rc02
December 13, 2023
androidx.car.app:app-*:1.4.0-rc02 is released. Version 1.4.0-rc02 contains these commits.. Minor fixes only
Bug Fixes
- Update javadoc on
ConversationItemto state that messages should be sorted in order from oldest to newest (I77a2a) - Update
ListTemplatetruncation logic to remove oldest messages fromConversationItem(Ie0a61)
Version 1.4.0-rc01
November 1, 2023
androidx.car.app:app-*:1.4.0-rc01 is released with no notable changes. Version 1.4.0-rc01 contains these commits..
Version 1.4.0-beta02
September 20, 2023
androidx.car.app:app-*:1.4.0-beta02 is released. Version 1.4.0-beta02 contains these commits.. This is almost identical to beta01, but lowers the compileSdk requirement to 33.
Bug Fixes
- Fix a bug where loading screens on Tabs would not be displayed appropriately. (cae860)
Version 1.4.0-beta01
August 9, 2023
androidx.car.app:app-*:1.4.0-beta01 is released. Version 1.4.0-beta01 contains these commits..
Note: 1.4-beta01 requires compileSdk34, which is still in dev status. 1.4-beta02 will correct this issue. Alternatively, you can add
android.suppressUnsupportedCompileSdk=34to your project'ssettings.gradlefile to safely temporarily suppress the warning.
New Features
- Instrument Cluster map rendering for Navigation apps
- New Tab Template for improved app layout / usability
- Support for Adaptive task limits
- Secondary actions on list elements
API Changes
- See alpha02
Version 1.4.0-alpha02
July 26, 2023
androidx.car.app:app-*:1.4.0-alpha02 is released. Version 1.4.0-alpha02 contains these commits.
- Release of Alpha02 is intended to be a preparation for an upcoming release of beta01.
New Features
- Map rendering on Instrument Cluster support for navigation apps
- Added Tabs for apps to improve layout experience
- Added List / Grid template rendering options
- Added new categories for Weather and Comms
- Move several API’s to the next CarApi 7 release
API Changes
- Add multimedia fields to
CarMessage(I5aaf6) - Adds custom actions to
ConversationItemin Car App Library (Ie5ed6) - Add extras to indicate a media item is played with an immersive audio format and showcase its content format logo (Icb5bb)
- Add new Action type,
ActionsConstraintsAPI to support compose button. (I31661) - Made
set/getTemplateasset/get ContentTemplate(Ica036) - Template parameter would now be
@NonNull. UpdatedMapWithContentTemplateAPI documentation (I0f8ed) - Removes
@ExperimentalCarApitag for Actions inListTemplatefor launch in CAL 1.4 (I2cfcb) - Removes
@ExperimentalCarApitag forTabTemplate(Ifcb82) - Remove
@ExperimentalCarApiannotations from Row secondary actions and decorations (I8487e) - Adds active tab content ID to
TabTemplateand deprecates active state on Tabs (I96932) - Add
ItemImageShapeproperty toGridTemplate(Ibf431) - Add
ItemSizeproperty toGridTemplate, which controls grid item sizing according to relative small, medium, large buckets. (Icdb3b) - Open up the API access for developers to gain a copy of the current screen stack. (I48107)
- Adds category for weather apps to Car App Library (I2be44)
- Adds category for calling apps to Car App Library (Icab33)
- Replaced
GridItem.Builder#setBadge()with overloadedsetImage()methods (Id2000) - Add icon property to Badge (I629b2)
- Add method to set dot badge background color (I6411c)
- Add Badge property to
GridItem, allowing a badge to be displayed on top of aGridItemimage. (I95de7) - Added an experimental Badge object that will represent a badge to be displayed over an image. (I9878d)
Version 1.4.0-alpha01
February 22, 2023
androidx.car.app:app-*:1.4.0-alpha01 is released. Version 1.4.0-alpha01 contains these commits.
API Changes
- Adds top-level actions to
GridTemplatein Car App Library (Id0191) - Adds top-level actions to
ListTemplatein Car App Library (I9efab) - Add extras to link a media item's subtitle or its description to other media items (Ic84bf)
- Update api level for row actions to level 6. (Ie0a69)
- Add messaging callbacks to A4C (Ie3986)
Bug Fixes
- Add missing java doc references for
CarMessage. (I5db1c) - Override
equals()andhashCode()forConversationItemandCarMessage(I6fd10) - Improve
ConversationItem.mMessagesvalidation (require non-null, non-empty (Iafc51) - Add
@Keepannotations toConversationItemfields (I5d250) - Update java docs for the Row decoration and secondary actions. (I000b6)
Version 1.3
Version 1.3.0-rc01
December 7, 2022
androidx.car.app:app-*:1.3.0-rc01 is released. Version 1.3.0-rc01 contains these commits.
- Minor bug fixes from beta01. No Major Changes.
Version 1.3.0-beta01
September 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, and androidx.car.app:app-testing:1.3.0-beta01 are released. Version 1.3.0-beta01 contains these commits.
- Car apps built using this library can now go to the Play Store using API Level 5 (see our development guide). Features annotated with API level 5 and under are compatible with both Android Auto 8.1+ and the Google Automotive App Host 1.4+.
New Features
In addition to capabilities added in Car App Library 1.3.0-alpha01, the following features have been added as part of beta01 (All features here only involve with host side changes without any API changes):
- The floating navigation bar will continue to show even when a user is in a map-based selection screen in
PlaceListNavigationTemplate,RoutePreviewNavigationTemplate, andMapTemplate. This can be done by updating navigation info throughNavigationManager.updateTrip(). - Enable the action button with
FLAG_DEFAULTto have a timeout animation. This button will be clicked by default after the timeout. ([API 5 - All Templates]) - A
Rows subtext is not truncated when the car is parked, but truncated to 2 lines while driving. ([API 5 - All Templates]) - Support disabled state for
Action,Toggle,Row([API 5 - All Templates])
API Changes
- Relax constraints in
MapTemplatelist to support selectable lists (I961ed) - Remove the constraint for Header Actions to allow for custom icons. (Iad28f)
- Add a constraint
setOnClickListenerAllowed()toActionsConstraints. Where it allowedActionto setOnClickDelegate()to actions except the standard icon types. (TYPE_APP_ICON,TYPE_BACK, andTYPE_PAN) (I3c745)
Bug Fixes
- Added compatibility of Android Automotive Template Host 1.4+ with curved displays (
[Host change])
Version 1.3.0-alpha01
July 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, and androidx.car.app:app-testing:1.3.0-alpha01 are released. Version 1.3.0-alpha01 contains these commits.
Features annotated with API level 5 are compatible with Android Auto 7.9 and above.
New Features
- API Level 5: new
MapTemplatethat can be used by navigation apps to display pane or list content alongside a map (If5826, If44b8) - API Level 5: new
CarAudioRecordAPI to allow recording audio input via the host vehicle's microphone (I5e71a) - API Level 5: new
SuggestionManagerAPI to allow apps to provide suggestions to the host (I5c103) - API Level 5: new
AlertAPI to display in context notifications on theNavigationTemplate(I163a7, I5ad70) - API Level 5: new
HeaderandMapControllercomponents to facilitate re-use across templates (If5826) - Added
androidx.car.app.category.POIas a category for enabling POI apps (and deprecatedandroidx.car.app.category.PARKINGandandroidx.car.app.category.CHARGING) (I59da1)
API Changes
- API Level 5: new
onClickmethod in theSurfaceCallbackinterface to allow for tap on map interactivity (Ia9777) - API Level 5: new flags
Action.FLAG_IS_PERSISTENTandAction.FLAG_DEFAULTto describeActions (I96318, I5ad70) - API Level 5: new enabled/disabled state for the
Action,Row, andTogglecomponents (host support coming around the 1.3.0-beta01 release of the library) (Id8a09) - API Level 5: Favor the new
Headercomponent viasetHeaderon thePlaceListNavigationTemplate.BuilderandRoutePreviewNavigationTemplate.Builder, deprecating the existingsetTitleandsetHeaderActionmethods (I30e6a) - API Level 5: new
setOnContentRefreshListnermethod on thePlaceListMapTemplate.BuilderandPlaceListNavigationTemplate.Builderfor use with implementations of the newOnContentRefreshListnerinterface. - API Level 5: New
setTripTextandsetTripIconon theTravelEstimate.Builderto customise the travel estimate card (Idcc6d, Ic620d) - Add support for
CarIconSpans in thePaneTemplate's title (Ia1ee0) - Add support for
CarIconSpans in aRow's title and text (Ic1e3c) - Map
ActionStrips can now have up to four actions (If3522) - Update Car App API level to 5 (I26b8e)
- Headers/titles are now optional for the
PlaceListMapTemplate,PlaceListNavigationTemplate,RoutePreviewNavigationTemplate,GridTemplate,ListTemplate,LongMessageTemplate,MessageTemplate,PaneTemplate, andSignInTemplate(I2078d, Icadde)
Bug Fixes
- Updated
PaneTemplateimage sizing rules to be a square bounding box (Idd72e) - Fixed an exception that happens if the screen stack is modified after
State.DESTROYED. (I3c8eb) - Added a null check for retriving the app icon (I3f710)
- Update Car Hardware API to use
STATUS_UNKNOWNinstead ofSTATUS_UNAVAILABLEby default (Ic9444) - Check if display exists before creating surface (Ice027a)
- Fix
CarValue.equals()bug involvingSTATUS_UNIMPLEMENTED(I24451)
Version 1.2
Version 1.2.0
November 9, 2022
androidx.car.app:app-*:1.2.0 is released. Version 1.2.0 contains these commits.
- This is a stabilization release, and there are no changes compared to v1.2.0-rc01.
Version 1.2.0-rc01
March 23, 2022
androidx.car.app:app-*:1.2.0-rc01 is released. Version 1.2.0-rc01 contains these commits.
- This is a stabilization release, and there are no API changes compared to
v1.2.0-beta02. New experimental features (API level 5) have been added that are intended for future Android Auto and Android Automotive releases.
Bug Fixes
- Fixed an exception that happens if the screen stack is modified after
State.DESTROYED. (I3c8eb) - Updated
CarSensorsAPI to indicate that they are not implemented for AAOS (Idd57b) - Updated
PlaceListMapTempalte.Builder#setCurrentLocationEnabledto indicate that ACCESS_COARSE_LOCATION would be sufficient for the feature (I510c2) - Made exit number optional for roundabout-with-angle maneuver types (Ife7d1)
Version 1.2.0-beta02
January 26, 2022
androidx.car.app:app-*:1.2.0-beta02 is released. Version 1.2.0-beta02 contains these commits.
Car apps built with this library version targeting the Android Automotive OS platform can now be published to the Play Store open testing channel. Refer to the development guide for more details.
Features annotated with API level 4 and under are compatible with both Android Auto 7.2+ and the new Android Automotive OS platform. See the Known Issues section below for caveats.
API Changes
- Added experimental
setOnContentRefreshListenerAPI to POI templates (I6bf22)
Bug Fixes
- Fixed a memory leak in
CarAppServicewhen the car host unbinds. (I5c9ca, b/203594731) - Updated
CarAppActivityjavadoc to include requirements for singleTask launchmode (Id2f95) - Reduces the visual glitch on resume. (Iff7e0)
Known Issue(s)
- The map
ActionStrips in thePlaceListNavigationTemplateandRoutePreviewNavigateTemplatewill start becoming available in the nextAndroid AutoandAndroid Automotive OSreleases.
Version 1.2.0-alpha02
December 15, 2021
androidx.car.app:app-*:1.2.0-alpha02 is released. Version 1.2.0-alpha02 contains these commits.
Features annotated with API level 4 has been upgraded from experimental to stable, including the map ActionStrips in the PlaceListNavigationTemplate and RoutePreviewNavigateTemplate, the CarIcon image in Panes, the QRCodeSignInMethod and the ability to set rendering hints (e.g. flags) in Actions.
New Features
- In Android Auto 7.1+, the item limit for
Panehas been increased from 2 to 4.
API Changes
- Added an experimental
toString()method toCarUnit(I36a3b)
Bug Fixes
- Fixed a crash that happened in
CarAppPermissionActivityif the callback is dead (If9823) - Changed
Panedefault list limit to 4 (I0068b)
Version 1.2.0-alpha01
November 3, 2021
androidx.car.app:app-*:1.2.0-alpha01 is released. Version 1.2.0-alpha01 contains these commits.
All new v1.2.0 features (API 4+) are currently experimental targeting future Android Auto and Android Automotive OS releases. Refer to the development guide for more details.
API Changes
- Made
AutomotiveCarInfoAPI experimental. (Ia13e5) - Added Car App Library API level 4 (I2a2e7)
- API Level 4: Added support for setting a
CarIconinPane(Ifcc12) - API Level 4: Added QR code sign in method (Ib623e)
- API Level 4: Added set/getFlags to
Action(Ic03ab) - API Level 4: Added support for panning and zooming in
PlaceListNavigationTemplateandRoutePreviewNavigationTemplate(I9d8a3)
Bug Fixes
- API Level 4: Add mechanism to allow apps to send location updates to the car host (I3bad3)
- Fix an issue where the host validation logic was not finding the TEMPLATE_RENDERER permission properly (I62618)
Version 1.1.0
Version 1.1.0
December 15, 2021
androidx.car.app:app-*:1.1.0 is released. Version 1.1.0 contains these commits.
This is a stabilization release, and there are no changes compared to v1.1.0-rc01. Also see the release notes for v1.2.0-alpha02 for more details on new features for the car app library.
Important changes since 1.0.0
- API Level 2:
SignInTemplateandLongMessageTemplatethat can be used for sign-in flows when the vehicle is parked - API Level 2: map interactivity support within the
NavigationTemplate - API Level 2: multiple-length text support to allow apps to provide multiple versions of string for display depending on the car screen sizes.
- API Level 3:
CarHardwareManagerthat can be used to query vehicle’s hardware data, such as model and make, fuel levels and other sensors.
Version 1.1.0-rc01
November 3, 2021
androidx.car.app:app-*:1.1.0-rc01 is released. Version 1.1.0-rc01 contains these commits.
This is a stabilization release, and there are no API changes compared to v1.1.0-beta01. New experimental features (API level 4) have been added that are intended for future Android Auto releases. See the release notes for v1.2.0-alpha01 for more details on the experimental APIs.
Version 1.1.0-beta01
September 1, 2021
androidx.car.app:app-*:1.1.0-beta01 is released. Version 1.1.0-beta01 contains these commits.
All v1.1.0 features (API 2+) are fully compatible with Android Auto 6.7 and above. Refer to the development guide for more details.
API Changes
- Removed
Manageras a public interface (Ie381b) - Added ability to set a custom branded background for permission request (I74b76)
- Added
ScreenManager.getStackSize(I0b16a) - Removed
ScreenControllerconstructor that explicit takesTestCarContext(Iefebc)
Bug Fixes
- Added API level check when creating
CarHardwareManager(I48f9b) - Added checks for invalid
CarSpanusage across the API (I65ae6) - Fixed an issue where if a
Screenis marked as finished during its creation, it would leave the stack in a broken state (I81b13) - Fix an issue where
CarNotificationManager.notifywould log an error for AutomotiveOS if there were actions with icons in theCarAppExtender(I3633d) - Added a handshake method for app and host to establish an API version (I7d6f8)
Version 1.1.0-alpha02
July 21, 2021
androidx.car.app:app-*:1.1.0-alpha02 is released. Version 1.1.0-alpha02 contains these commits.
New Features
- API Level 3: Added a
CarHardwareManagerthat can be used to query vehicle’s hardware data, such as model and make, fuel levels and other sensors. Currently, this feature is only available for Android Auto 6.7+ in the open-testing channel. Testing this in a desktop environment requires a new version ofDesktop Head Unitwhich will be released separately. Stay tuned on Test Android apps for cars page for details on when the new version becomes available. - Follow the development guide and the library reference for additional details and design guidelines on how to use these features in car hosts that are compatible with API level 3.
API Changes
- Consolidated
SessionControllerandScreenControllerlifecycle methods into a singlemoveToStatemethod (I1ed00) - Added
CarContext#getHostInfo()(I8977e) - Removed deprecated fields. (I67168)
- Updated
SessionControllerandScreenControllerto expose constructors directly (Iabf22) - Removed
PinSignInMethod.BuilderandProviderSignInMethod.Builder(I9f0cb) - Added 'setCarAppResult()' to enable using templated apps 'for result' in AAOS (I37741)
- Annotated
CarHardwareinterfaces with@MainThread. (Ib2f85) - Renamed
OnCarDataListenertoOnCarDataAvailableListener(I518ca) - Updated
CarInfo,Speed,Mileagemethod names and javadoc. (I86672) - Renamed
TolltoTollCard. (I3e7c8) - Removed deprecated
PinSignInMethod.getPinwhich is replaced byPinSignInMethod.getPinCode(I996ce) - Removed
OnInputCompletedListener(replaced withInputCallback). (Ib5be1) - Changed
PinSignInMethodto takeCharSequenceinstead ofString(I275d5)
Bug Fixes
- Javadoc fixes for car hardware. (I2abbc)
External Contribution
Known Issues
- In the
SignInTemplate, using theInputSignInMethodmay result in aNullPointerExceptionin the car host. This will be addressed in the next release of the library. To workaround the issue, include this line in your app’s Proguard config:-keep class androidx.car.app.model.signin.InputSignInMethod { *; }
Version 1.1.0-alpha01
June 16, 2021
androidx.car.app:app:1.1.0-alpha01, androidx.car.app:app-automotive:1.1.0-alpha01, and androidx.car.app:app-testing:1.1.0-alpha01 are released. Version 1.1.0-alpha01 contains these commits.
New Features
- API Level 2: new
SignInTemplateandLongMessageTemplatethat can be used for sign-in flows when the vehicle is parked. - API Level 2: new map interactivity support within the
NavigationTemplate - API Level 2: new multiple-length text support to allow apps to provide multiple versions of string for display depending on the car screen sizes.
- Follow the development guide and the library Javadoc for additional details and design guidelines on how to use these features in car hosts that are compatible with API level 2.
API Changes
- Made all
*Callbackinterface methods default and renamedOnRequestPermissionsCallback->OnRequestPermissionsListener(Ib3ec9) - Updated
androidx.car.app.hardwareclasses to remove unnecessary builders and parameter classes. (I67beb) - Added
androidx.car.app.hardwareclasses for access to car specific data such as fuel, battery and speed. (Iff3c9) - Added
ActionStripsupport onMessageTemplate(Ida657) - Added
setLoadingtoMessageTemplate. (I2a4b5) - Renamed
ConnectionToCartoCarConnection(Ife9bd) - Changed
NavigationTemplateto return an explicitPanModeDelegate(I13877) - Updated parameter order for
CarContext.requestPermissions(Ib890a) - Updated metadata key to define min car api level to
androidx.car.api.minCarApiLevel(Ib0d41) - Created an API that allows observing car connection state (Ifc935)
- Added support for setting a toggle for an
Action, and added the pan modeActiontype (Ica6af) - Created
CarNotificationManagerto support sending notification in the car (I10d7a) - Added
ConstraintManagerfor providing list limits from the host (I8690e) - Added pan mode and map action strip API in
NavigationTemplate(I77aa6) - Added pan and zoom API in
SurfaceCallbackfor navigation apps (Id5e9d) - Updated
CarAppApiLevelto 2 (Ic1540) - Added ability to request permissions from a
CarAppService(I5421e) - Added
RequiresCarApi(2)annotation to multi-text API (Iacb62) - Allowed multiple text variants in the half-list template title (Ib8df7)
- Added new
LongMessageTemplate(requires Car API level 2) (Ic5cee)
Bug Fixes
- Updated image size requirements to account for larger car screens (I116dc)
- Disallowed adding more than 2 actions in template bodies (I32157)
- Ensured all creation of
PendingIntents in the car app library set flags. (If84fe, b/186394900) - Updated javadoc to allow
Row's text changes as refreshes (If3f9c) androidx.activity:activity:1.2.0is now an api dependency (Id1cb9)- Made
SignInTemplateandLongMessageTemplateto require parked-only actions in their body and update documentation to indicate they will only be shown when the car is parked (Iddaa9) - Fixed an exception that occurs when popping a
Screenduring start (Ifcf40, b/184664896) - Allowed custom text color in
ForegroundCarColorSpan(I69e59) - Fixed an issue where
ON_DESTROYon aSessionis observed after aScreen'sON_DESTROY(I52e01, b/183696617) - Updated javadoc on when setting a
TravelEstimate's remaining time to an unknown time is allowed. (I99610, b/183632456) - Updated
Actionto supportForegroundColorSpanin the title and any custom background color (I578e4) - Do not execute
NavigationManagerCallback#onStopNavigationif the callback is cleared before the executor executes (I7fc5e, b/181143772) - Fixed an issue that require the app to explicitly take on a dependency on lifecycle-common-java8 (I8b8c8)
Known Issues
- 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
Version 1.0.0-alpha01
March 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.
New Features
- 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.
Version 1.0.0
Version 1.0.0
April 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.
Bug Fixes
- 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)
Version 1.0.0-rc01
March 24, 2021
androidx.car.app:app:1.0.0-rc01 is released. Version 1.0.0-rc01 contains these commits.
Bug Fixes
- 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)
Version 1.0.0-beta01
February 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.
New Features
- 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)
Bug Fixes
- Fixed an issue where the wrong
Screenis resumed when popping screens sequentially. (b/177590791)