Car App

Compila apps basadas en plantillas para Android Auto y el SO Android Automotive.
Actualización más reciente Versión estable Versión potencial Versión beta Versión alfa
16 de julio de 2025 1.7.0 - - 1.8.0-alpha02

Cómo declarar dependencias

Para agregar una dependencia en la biblioteca de la app para vehículos, debes agregar el repositorio de Maven de Google a tu proyecto. Lee el repositorio de Maven de Google para obtener más información.

Agrega las dependencias de los artefactos que necesites en el archivo build.gradle de tu app o módulo:

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")
}

Para obtener más información sobre las dependencias, consulta Cómo agregar dependencias de compilación.

Comentarios

Tus comentarios ayudan a mejorar Jetpack. Avísanos si descubres nuevos errores o tienes ideas para mejorar esta biblioteca. Consulta los errores existentes de esta biblioteca antes de crear uno nuevo. Puedes agregar tu voto a un error existente haciendo clic en el botón de la estrella.

Crear un error nuevo

Consulta la documentación sobre la Herramienta de seguimiento de errores para obtener más información.

Versión 1.8

Versión 1.8.0-alpha02

18 de junio de 2025

Lanzamiento de androidx.car.app:app-*:1.8.0-alpha02. La versión 1.8.0-alpha02 contiene estas confirmaciones.

Nuevas funciones

  • Se agregó compatibilidad con Action.MEDIA_PLAYBACK, que muestra un indicador según el estado de reproducción de contenido multimedia.
  • Se agregó compatibilidad para controlar la posición de desplazamiento de un usuario cuando se actualiza SectionedItemTemplate.

Cambios en la API

  • Se agregó compatibilidad para guardar la posición de desplazamiento de un usuario dentro de SectionedItemTemplate entre las actualizaciones. (Ia4c51)
  • Se actualizó la acción MEDIA_PLAYBACK para habilitarla para la acción de final de fila (I05cc4)
  • Se agregó un nuevo tipo de acción (I6cc5a).
  • Agrega CarAppExtender#addAction(Action) para que se pueda agregar cualquier tipo de acción al CarAppExtender. (Idc4d7)
  • Se hizo que SectionedItemTemplate sea accesible para la API nivel 8 y versiones posteriores. (I9a079)

Versión 1.8.0-alpha01

20 de mayo de 2025

Lanzamiento de androidx.car.app:app-*:1.8.0-alpha01. La versión 1.8.0-alpha01 contiene estas confirmaciones.

Nuevas funciones

Por el momento, todas las funciones solo están disponibles en Android Auto. Se aprovecharán las mismas APIs en todo AAOS.

  • Se agregó la categoría Media para crear aplicaciones personalizadas, como alternativa a las basadas en MediaBrowse.
  • Se agregó la plantilla de reproducción, que permite controlar las acciones principales durante la vista de reproducción de contenido multimedia (solo disponible para apps de contenido multimedia).
  • Se agregó compatibilidad total con la plantilla de elementos seccionados en Android Auto, lo que permite combinaciones de subsecciones compuestas por listas o cuadrículas.
  • Se agregó el tamaño extragrande como un tamaño adicional para los elementos de la cuadrícula.

Cambios en la API

  • Se agregó una opción de tamaño adicional para los elementos de cuadrícula (I35b58).
  • Se agregaron la categoría y el permiso para las apps de contenido multimedia a la biblioteca de Car App (I8e100).
  • Se agregó una nueva API para que las apps detecten si se admite la categoría de medios CarAppLibrary (Ic4b08).
  • Se agregó OnItemVisibilityChangeListener a Section. (I2c2fd)
  • Se agregó Mileage#getOdometerKilometers y se dejó de usar Mileage#getOdometerMeters (Ic91af).

Correcciones de errores

  • Se corrigió un error de escritura en Javadoc de CarIcon.setTint (Iabd72).
  • Se actualizó la documentación de Row.Builder#setNumericDecoration para reflejar que no se admite 1 acción más decoración numérica, pero sí 0 o 2 acciones más decoración numérica. (Ic0b08)
  • Se agregó un campo para el color de fondo del ícono de la insignia en los elementos de la cuadrícula. (I2b6ae)

Versión 1.7

Versión 1.7.0

16 de julio de 2025

Lanzamiento de androidx.car.app:app-*:1.7.0. La versión 1.7.0 contiene estas confirmaciones.

  • Esta es la primera versión estable que incluye la corrección para CVE-2024-10382, que se aplicó en beta03. Si usas una versión anterior a la 1.7-beta03, actualízala para usar esta versión.

Versión 1.7.0-rc01

15 de enero de 2025

Lanzamiento de androidx.car.app:app-*:1.7.0-rc01 sin cambios notables desde la versión beta03. La versión 1.7.0-rc01 contiene estas confirmaciones.

  • Esta es la primera versión candidata que incluye la corrección para la CVE-2024-10382, que se corrigió en la versión beta03. Si usas una versión anterior a la 1.7-beta03, actualízala para usar esta versión.

Versión 1.7.0-beta03

13 de noviembre de 2024

Se corrigió una vulnerabilidad de seguridad y otros errores generales. Si usas una versión anterior, actualiza a esta versión.

Lanzamiento de androidx.car.app:app-*:1.7.0-beta03. La versión 1.7.0-beta03 contiene estas confirmaciones.

Cambios en la API

  • Actualiza el código de serialización y deserialización de CAL para que solo controle los objetos que tengan declarada la anotación @CarProtocol. (Ic730e)
  • Ahora se puede usar CarAppExtender para extender el framework Notification.Builder en lugar de solo NotificationCompat.Builder. (Id3ad7)
  • Agrega KEY_EXCLUDE_MEDIA_ITEM_FROM_MIXED_APP_LIST adicionales. (I201f9)
  • Se dejó de usar el constructor de Builder vacío en ConversationItem y se reemplazó por un constructor que toma parámetros obligatorios. También se agrega una verificación para evitar mensajes nulos. (Ic8221)

Correcciones de errores

  • Asegúrate de que el mapa de PlaceList use el título del encabezado de cadena (solo texto). (Ic992f)
  • Esta biblioteca ahora usa anotaciones de nulabilidad de JSpecify, que son de uso de tipo. Los desarrolladores de Kotlin deberían usar el siguiente argumento del compilador para aplicar el uso correcto: -Xjspecify-annotations=strict (este es el valor predeterminado a partir de la versión 2.1.0 del compilador de Kotlin). (Ib5367, b/326456246)

Versión 1.7.0-beta02

18 de septiembre de 2024

Lanzamiento de androidx.car.app:app-*:1.7.0-beta02. La versión 1.7.0-beta02 contiene estas confirmaciones.

Cambios en la API

  • Se agregó KEY_ROOT_HINT_MEDIA_HOST_VERSION adicional (I8796b).
  • Reemplaza la clase TabContents.Api8Builder por el constructor @ExperimentalCarApi en la clase TabContents.Builder (I26fbe)
  • Se agregaron la acción y los extras del intent para CarMediaApp (I50782).
  • Se marcaron las APIs de mensajería como no experimentales (I0b070).
  • Se agregó la carga de elementos remotos a SectionedItemTemplate (permite que se carguen listas largas sin fallar) (I0d122).
  • Se agregó SectionedItemTemplate a la lista de plantillas compatibles dentro de TabTemplate en la API 8. (Idc5d6)

Correcciones de errores

  • Se quitó el esquema manual del acceso a las nuevas APIs de la plataforma, ya que esto sucede automáticamente a través del modelado de APIs cuando se usa R8 con AGP 7.3 o versiones posteriores (p.ej., R8 versión 3.3) y para todas las compilaciones cuando se usa AGP 8.1 o versiones posteriores (p.ej., D8 versión 8.1). Se recomienda a los clientes que no usan AGP que actualicen a la versión 8.1 o posterior de D8. Consulta este artículo para obtener más detalles. (I9496c, b/345472586)

Versión 1.7.0-beta01

26 de junio de 2024

Lanzamiento de androidx.car.app:app-*:1.7.0-beta01. La versión 1.7.0-beta01 contiene estas confirmaciones. Las funciones son las mismas que se publicaron en alpha01, y se repiten a continuación:

Nuevas funciones

  • Mapa con contenido: Nueva plantilla que incluye un lienzo de mapa y una plantilla de contenido, que por ahora puede ser de lista, cuadrícula, panel o mensaje.
    • RoutePreview, PlaceListNavigation y MapTemplate ahora están obsoletos. Las plantillas seguirán funcionando tal como están.
    • Se actualizaron las apps de ejemplo para mostrar el uso de MapWithContent en lugar de las plantillas obsoletas.
  • Elemento de conversación: Nuevas APIs para mostrar conversaciones (MI, SMS) y la lectura de Asistente en el auto
  • Dimensiones del vehículo: Nueva API para recuperar medidas del vehículo (datos en AAOS por el momento)

Cambios en la API

  • Se agregó la etiqueta @ExperimentalCarApi a MediaPlaybackTemplate.Builder. (Ic1957)
  • Se agregó un nuevo SectionedItemTemplate en experimental. (I5958a)
  • Se introdujo CarAppApiLevel 8 (I3fa22).
  • Se agregó MediaPlaybackTemplate para mostrar contenido durante la reproducción de contenido multimedia en la biblioteca de Car App. (I3c10d)
  • Se agregó una nueva API para que las apps detecten si el sistema admite audio en segundo plano mientras se conduce (I0f868).

Correcciones de errores

  • Se corrigieron ciertas instancias de pérdidas de memoria y fallas en el código del cliente de CAL y en la app de ejemplo de navegación de CAL. (I55e04)
  • Reemplaza requireNotNull instances en el método onDestroy de BaseCarAppActivity con verificaciones de nulos para evitar fallas. (Iec676)

Versión 1.7.0-alpha02

17 de abril de 2024

Lanzamiento de androidx.car.app:app-*:1.7.0-alpha02. La versión 1.7.0-alpha02 contiene estas confirmaciones.

Nuevas funciones

  • Se agregaron marcas obsoletas para las plantillas basadas en mapas, que la plantilla MapWithContent potenciará en el futuro.

Cambios en la API

  • Se dieron de baja los elementos MapTemplate, RoutePreviewNavigationTemplate y PlaceListNavigationTemplate antiguos, y se recomienda usar el nuevo MapWithContentTemplate (Ib0a08).

Versión 1.7.0-alpha01

3 de abril de 2024

Lanzamiento de androidx.car.app:app-*:1.7.0-alpha01. Cambiamos nuestro esquema de versiones de la biblioteca para que coincida con la versión activa de CarApi. Esto se hace para reducir la confusión sobre el esquema de nombres según los comentarios de los desarrolladores. Como resultado, omitiremos las versiones 1.5 y 1.6 y pasaremos directamente a la versión 1.7. La versión 1.7.0-alpha01 contiene estas confirmaciones.

Nuevas funciones

  • Map with Content: Nueva plantilla llamada MapWithContent que admite List / Grid / Pane / Message como contenido dentro de un mapa.
    • RoutePreview, PlaceListNavigation y las plantillas de mapas ahora están obsoletas.
    • Se actualizaron las apps de ejemplo para mostrar la funcionalidad de las plantillas obsoletas con MapWithContent.
  • Elemento de conversación: Nuevas APIs para mostrar conversaciones (MI, SMS) y la lectura de Assistant en el automóvil
  • Dimensiones del vehículo: Nueva API para recuperar medidas del vehículo (datos en AAOS por el momento).

Cambios en la API

  • Se marcó el tipo de imagen de fila extra pequeña como experimental (I5184b).
  • Se agregó la API de CarInfo#fetchExteriorDimensions, que permite acceder a información sobre las dimensiones exteriores del vehículo, como la altura, el ancho, etcétera (Ia40c5).
  • Se quitó la etiqueta ExperimentalAPI de MapWithContentTemplate (I66db8).
  • Se actualizó el parámetro GridItem#setTitle para que acepte valores nulos. (I3d610)
  • La API de GetHeader no requiere la API 7 porque es retrocompatible (I8c812).
  • Se agregó compatibilidad con Header en ListTemplate y se dejaron de usar headerAction, headerTitle y actionStrip (I7ae01).
  • Se dieron de baja title, headerAction y actionStrip en GridTemplate, y se agregó compatibilidad con Header (I41a9c).
  • Se quitó el requisito de nivel 7 para las APIs experimentales: Badge, métodos getter y setter de tamaño de elemento GridTemplate y forma de imagen, métodos GridItem para obtener o establecer Badge. (Id71eb)
  • Se dieron de baja title, headerAction y actionStrip en PaneTemplate, y se agregó compatibilidad con Header (I23154).
  • Se cambió la telemetría de Media Center de BroadcastReceiver a Acción de exploración personalizada. (I4185f)
  • Se agregó compatibilidad con el atributo Header en MessageTemplate. Se dejó de admitir ActionStrip, headerAction y title. (Ie2de8)
  • Se modificó la visibilidad de las constantes de alerta (Icf8a8).
  • Quita el atributo isLoading de la plantilla principal (I651e6).
  • Se agregaron elementos adicionales para informar a las apps de medios sobre los parámetros principales de la IU (I85ca2).
  • Se agregó la función de análisis del centro de medios a MediaExtensions (I7ce28).
  • Se agregó una opción para imágenes extrapequeñas en las filas. (I72c03)

Correcciones de errores

  • Se actualizó Javadoc en ConversationItem para indicar que los mensajes deben ordenarse del más antiguo al más reciente. (I77a2a)
  • Se actualizó la lógica de truncamiento de ListTemplate para quitar los mensajes más antiguos de ConversationItem (Ie0a61).

Versión 1.4

Versión 1.4.0

29 de mayo de 2024

Lanzamiento de androidx.car.app:app-*:1.4.0. La versión 1.4.0 es una promoción de la versión 1.4.0-rc02.

Cambios importantes desde la versión 1.3.0

  • Procesamiento del mapa del clúster de instrumentos para apps de navegación
  • Nueva plantilla de pestaña para mejorar el diseño y la usabilidad de la app
  • Compatibilidad con límites de tareas adaptativos
  • Acciones secundarias en elementos de la lista

Versión 1.4.0-rc02

13 de diciembre de 2023

Lanzamiento de androidx.car.app:app-*:1.4.0-rc02. La versión 1.4.0-rc02 contiene estas confirmaciones.. Solo correcciones menores

Correcciones de errores

  • Se actualizó Javadoc en ConversationItem para indicar que los mensajes deben ordenarse del más antiguo al más reciente (I77a2a).
  • Se actualizó la lógica de truncamiento de ListTemplate para quitar los mensajes más antiguos de ConversationItem (Ie0a61).

Versión 1.4.0-rc01

1 de noviembre de 2023

Lanzamiento de androidx.car.app:app-*:1.4.0-rc01 sin cambios notables. La versión 1.4.0-rc01 contiene estas confirmaciones.

Versión 1.4.0-beta02

20 de septiembre de 2023

Lanzamiento de androidx.car.app:app-*:1.4.0-beta02. La versión 1.4.0-beta02 contiene estas confirmaciones. Esta versión es casi idéntica a beta01, pero reduce el requisito de compileSdk a 33.

Correcciones de errores

  • Se corrigió un error por el que las pantallas de carga en Pestañas no se mostraban correctamente. (cae860)

Versión 1.4.0-beta01

9 de agosto de 2023

Lanzamiento de androidx.car.app:app-*:1.4.0-beta01. La versión 1.4.0-beta01 contiene estas confirmaciones.

Nota: 1.4-beta01 requiere compileSdk34, que aún está en estado de desarrollo. La versión 1.4-beta02 corregirá este problema. De manera alternativa, puedes agregar android.suppressUnsupportedCompileSdk=34 al archivo settings.gradle de tu proyecto para suprimir la advertencia de forma segura y temporal.

Nuevas funciones

Cambios en la API

  • Consulta alpha02

Versión 1.4.0-alpha02

26 de julio de 2023

Lanzamiento de androidx.car.app:app-*:1.4.0-alpha02. La versión 1.4.0-alpha02 contiene estas confirmaciones.

  • El lanzamiento de Alpha02 tiene como objetivo preparar el próximo lanzamiento de beta01.

Nuevas funciones

  • Procesamiento de mapas en el clúster de instrumentos compatible con apps de navegación
  • Se agregaron pestañas para apps para mejorar la experiencia de diseño
  • Se agregaron opciones de renderización de plantillas de lista y cuadrícula
  • Se agregaron nuevas categorías para Clima y Comunicaciones
  • Se trasladaron varias APIs a la próxima versión de CarApi 7.

Cambios en la API

  • Se agregaron campos multimedia a CarMessage (I5aaf6).
  • Se agregaron acciones personalizadas a ConversationItem en la biblioteca de Car App (Ie5ed6).
  • Se agregaron elementos adicionales para indicar que un elemento multimedia se reproduce con un formato de audio envolvente y mostrar el logotipo de su formato de contenido (Icb5bb).
  • Se agregó un nuevo tipo de acción, la API de ActionsConstraints, para admitir el botón de redacción. (I31661)
  • Se convirtió set/getTemplate en set/get ContentTemplate (Ica036).
  • El parámetro de plantilla ahora sería @NonNull. Se actualizó la documentación de la API de MapWithContentTemplate (I0f8ed).
  • Se quitó la etiqueta @ExperimentalCarApi para las acciones en ListTemplate para el lanzamiento en CAL 1.4 (I2cfcb).
  • Se quita la etiqueta @ExperimentalCarApi para TabTemplate (Ifcb82).
  • Se quitaron las anotaciones de @ExperimentalCarApi de las acciones y decoraciones secundarias de la fila (I8487e)
  • Se agregó el ID de contenido de la pestaña activa a TabTemplate y se dejó de usar el estado activo en las pestañas (I96932).
  • Se agregó la propiedad ItemImageShape a GridTemplate (Ibf431).
  • Agrega la propiedad ItemSize a GridTemplate, que controla el tamaño de los elementos de la cuadrícula según los buckets relativos pequeños, medianos y grandes. (Icdb3b)
  • Abre el acceso a la API para que los desarrolladores obtengan una copia de la pila de pantallas actual. (I48107)
  • Se agregó una categoría para las apps de clima a la biblioteca de apps para vehículos (I2be44).
  • Se agregó la categoría para apps de llamadas a la biblioteca de apps para vehículos (Icab33).
  • Se reemplazó GridItem.Builder#setBadge() por métodos setImage() sobrecargados (Id2000)
  • Se agregó la propiedad del ícono a Badge (I629b2).
  • Se agregó un método para establecer el color de fondo de la insignia de punto (I6411c).
  • Se agregó la propiedad Badge a GridItem, lo que permite que se muestre una insignia sobre una imagen de GridItem. (I95de7)
  • Se agregó un objeto Badge experimental que representará una insignia que se mostrará sobre una imagen. (I9878d)

Versión 1.4.0-alpha01

22 de febrero de 2023

Lanzamiento de androidx.car.app:app-*:1.4.0-alpha01. La versión 1.4.0-alpha01 contiene estas confirmaciones.

Cambios en la API

  • Se agregaron acciones de nivel superior a GridTemplate en la biblioteca de apps para vehículos (Id0191).
  • Se agregaron acciones de nivel superior a ListTemplate en la biblioteca de apps para vehículos (I9efab).
  • Se agregaron elementos adicionales para vincular el subtítulo o la descripción de un elemento multimedia a otros elementos. (Ic84bf)
  • Se actualizó el nivel de API de las acciones de fila al nivel 6. (Ie0a69).
  • Se agregaron devoluciones de llamada de mensajería a A4C (Ie3986).

Correcciones de errores

  • Se agregaron las referencias faltantes a documentos de Java para CarMessage (I5db1c).
  • Se anularon equals() y hashCode() para ConversationItem y CarMessage (I6fd10).
  • Se mejoró la validación de ConversationItem.mMessages (se requieren valores no nulos ni vacíos) (Iafc51).
  • Se agregaron anotaciones @Keep a los campos ConversationItem (I5d250).
  • Se actualizaron los documentos Java para la decoración de filas y las acciones secundarias (I000b6).

Versión 1.3

Versión 1.3.0-rc01

7 de diciembre de 2022

Lanzamiento de androidx.car.app:app-*:1.3.0-rc01. La versión 1.3.0-rc01 contiene estas confirmaciones.

  • Se corrigieron errores menores de la versión beta01. No hay cambios importantes.

Versión 1.3.0-beta01

7 de septiembre de 2022

Se lanzaron 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 y androidx.car.app:app-testing:1.3.0-beta01. La versión 1.3.0-beta01 contiene estas confirmaciones.

Nuevas funciones

Además de las funciones agregadas a la biblioteca de apps para automóviles 1.3.0-alpha01, se agregaron las siguientes funciones como parte de la versión beta01 (todas las funciones que se describen aquí solo incluyen cambios en el host sin cambios en la API):

  • La barra de navegación flotante se seguirá mostrando incluso cuando el usuario esté en una pantalla de selección basada en mapas de PlaceListNavigationTemplate, RoutePreviewNavigationTemplate y MapTemplate. Para ello, actualiza la información de navegación mediante NavigationManager.updateTrip().
  • Habilita el botón de acción con FLAG_DEFAULT para tener una animación de tiempo de espera. Este botón se activará de forma predeterminada después del tiempo de espera ([API 5 - All Templates]).
  • El subtexto de un Row no se trunca cuando el automóvil está estacionado, pero se trunca a 2 líneas mientras conduces ([API 5 - All Templates]).
  • Estado de compatibilidad inhabilitada para Action, Toggle, Row ([API 5 - All Templates]).

Cambios en la API

  • Se flexibilizaron las restricciones de la lista MapTemplate para admitir listas seleccionables (I961ed).
  • Se quitó la restricción para las acciones de encabezado a fin de permitir íconos personalizados (Iad28f).
  • Se agregó una restricción setOnClickListenerAllowed() a ActionsConstraints. Se permitió que Action configurara OnClickDelegate() en acciones, excepto los tipos de íconos estándar (TYPE_APP_ICON, TYPE_BACK, and TYPE_PAN) (I3c745).

Correcciones de errores

Versión 1.3.0-alpha01

27 de julio de 2022

Lanzamiento de 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 y androidx.car.app:app-testing:1.3.0-alpha01. La versión 1.3.0-alpha01 contiene estas confirmaciones.

Las funciones anotadas con nivel de API 5 son compatibles con Android Auto 7.9 y versiones posteriores.

Nuevas funciones

  • Nivel de API 5: Se agregó un MapTemplate nuevo que pueden usar las apps de navegación para mostrar contenido en un panel o una lista junto a un mapa (If5826, If44b8).
  • Nivel de API 5: Se agregó la nueva API de CarAudioRecord para permitir la grabación de entrada de audio con el micrófono del vehículo host (I5e71a).
  • Nivel de API 5: Se agregó la nueva API de SuggestionManager para permitir que las apps proporcionen sugerencias al host (I5c103).
  • Nivel de API 5: Se agregó la nueva API de Alert para mostrar notificaciones contextuales en NavigationTemplate (I163a7, I5ad70).
  • Nivel de API 5: Se agregaron nuevos componentes Header y MapController para facilitar la reutilización en plantillas (If5826).
  • Se agregó androidx.car.app.category.POI como categoría para habilitar apps de lugares de interés (y androidx.car.app.category.PARKING y androidx.car.app.category.CHARGING dejaron de estar disponibles) (I59da1).

Cambios en la API

  • Nivel de API 5: Se agregó el nuevo método onClick en la interfaz SurfaceCallback para permitir la interacción de presionar en el mapa (Ia9777).
  • Nivel de API 5: Se agregaron nuevas marcas Action.FLAG_IS_PERSISTENT y Action.FLAG_DEFAULT para describir Action (I96318, I5ad70).
  • Nivel de API 5: Se agregó un nuevo estado habilitado/inhabilitado para los componentes Action, Row yToggle (la compatibilidad de host con la versión 1.3.0-beta01 de la biblioteca) (ID8a09).
  • Nivel de API 5: Se dio preferencia al nuevo componente Header mediante setHeader en el PlaceListNavigationTemplate.Builder y RoutePreviewNavigationTemplate.Builder, por lo que dejaron de estar disponibles los métodos setTitle y setHeaderAction existentes (I30e6a).
  • Nivel de API 5: Se agregó un nuevo método setOnContentRefreshListner en PlaceListMapTemplate.Builder y PlaceListNavigationTemplate.Builder para usar con implementaciones de la nueva interfaz OnContentRefreshListner.
  • Nivel de API 5: Se agregaron nuevos objetos setTripText y setTripIcon en TravelEstimate.Builder para personalizar la tarjeta de estimación de viajes (Idcc6d, Ic620d).
  • Se agregó compatibilidad con objetos CarIconSpan en el título de PaneTemplate (Ia1ee0).
  • Se agregó compatibilidad con objetos CarIconSpan en el título y el texto de una Row (Ic1e3c).
  • Los elementos ActionStrip de mapas ahora pueden tener hasta cuatro acciones (If3522).
  • Se actualizó el nivel de API de Car App a 5 (I26b8e).
  • Los encabezados/títulos ahora son opcionales para PlaceListMapTemplate, PlaceListNavigationTemplate, RoutePreviewNavigationTemplate, GridTemplate, ListTemplate, LongMessageTemplate, MessageTemplate, PaneTemplate y SignInTemplate (I2078d, Icadde).

Correcciones de errores

  • Se actualizaron las reglas de tamaño de imagen de PaneTemplate para que sean un cuadro de límite cuadrado (Idd72e).
  • Se corrigió una excepción que sucede si la pila de pantalla se modifica después de State.DESTROYED (I3c8eb).
  • Se agregó una verificación de nulabilidad para recuperar el ícono de la app (I3f710).
  • Se actualizó la API de Car Hardware para usar STATUS_UNKNOWN en lugar de STATUS_UNAVAILABLE de forma predeterminada (Ic9444).
  • Se comprueba si la pantalla existe antes de crear la superficie (Ice027a).
  • Se corrigió el error CarValue.equals() relacionado con STATUS_UNIMPLEMENTED (I24451).

Versión 1.2

Versión 1.2.0

9 de noviembre de 2022

Se lanzó androidx.car.app:app-*:1.2.0. La versión 1.2.0 contiene estas confirmaciones.

  • Esta es una versión de estabilización y no hay cambios en comparación con la versión v1.2.0-rc01.

Versión 1.2.0-rc01

23 de marzo de 2022

Lanzamiento de androidx.car.app:app-*:1.2.0-rc01. La versión 1.2.0-rc01 contiene estas confirmaciones.

  • Esta es una versión de estabilización, y no hay cambios de API en comparación con v1.2.0-beta02. Se agregaron nuevas funciones experimentales (nivel de API 5) que se diseñaron para versiones futuras de Android Auto y Android Automotive.

Correcciones de errores

  • Se corrigió una excepción que sucede si la pila de pantalla se modifica después de State.DESTROYED (I3c8eb).
  • Se actualizó la API de CarSensors para indicar que no se implementaron para AAOS (Idd57b).
  • Se actualizó PlaceListMapTempalte.Builder#setCurrentLocationEnabled a fin de indicar que ACCESS_COARSE_LOCATION es suficiente para la función (I510c2).
  • Se hizo un número de salida opcional para los tipos de maniobra de rotonda con ángulo (Ife7d1).

Versión 1.2.0-beta02

26 de enero de 2022

Lanzamiento de androidx.car.app:app-*:1.2.0-beta02. La versión 1.2.0-beta02 contiene estas confirmaciones.

Las apps para vehículos creadas con esta versión de biblioteca que están orientadas a la plataforma Android Automotive OS ahora pueden publicarse en el canal de pruebas abiertas de Play Store. Consulta la guía para desarrolladores a fin de obtener más detalles.

Las funciones anotadas con nivel de API 4 o inferior son compatibles con Android Auto 7.2 y versiones posteriores y con la nueva plataforma Android Automotive OS. Consulta la sección Known Issues a continuación para conocer las advertencias.

Cambios en la API

  • Se agregó la API experimental de setOnContentRefreshListener a las plantillas de lugares de interés (I6bf22).

Correcciones de errores

  • Se corrigió una fuga de memoria en CarAppService cuando se desvincula el host del vehículo (I5c9ca, b/203594731).
  • Se actualizó el código javadoc de CarAppActivity para que incluya los requisitos del modo de lanzamiento de una sola tarea (Id2f95).
  • Se redujo el error visual en la reanudación (Iff7e0).

Errores conocidos

  • Los mapas ActionStrip en PlaceListNavigationTemplate y RoutePreviewNavigateTemplate comenzarán a estar disponibles en las próximas actualizaciones de Android Auto y Android Automotive OS.

Versión 1.2.0-alpha02

15 de diciembre de 2021

Lanzamiento de androidx.car.app:app-*:1.2.0-alpha02. La versión 1.2.0-alpha02 contiene estas confirmaciones..

Las funciones anotadas con el nivel de API 4 se actualizaron de experimentales a estables, incluidos los mapas ActionStrip en PlaceListNavigationTemplate y RoutePreviewNavigateTemplate, la imagen CarIcon en Pane, el QRCodeSignInMethod y la capacidad de establecer sugerencias de renderización (p. ej., marcas) en Action.

Nuevas funciones

  • En Android Auto 7.1 y versiones posteriores, el límite del artículo de Pane se aumentó de 2 a 4.

Cambios en la API

  • Se agregó un método toString() experimental a CarUnit (I36a3b).

Correcciones de errores

  • Se corrigió una falla que ocurría en CarAppPermissionActivity si no funcionaba la devolución de llamada (If9823).
  • Se cambió el límite predeterminado de Pane a 4 (I0068b).

Versión 1.2.0-alpha01

3 de noviembre de 2021

Se lanzó androidx.car.app:app-*:1.2.0-alpha01. La versión 1.2.0-alpha01 contiene estas confirmaciones.

Todas las funciones nuevas de v1.2.0 (API 4 o superior) se encuentran actualmente en fase experimental y se orientan a versiones futuras de Android Auto y el SO Android Automotive. Consulta la guía para desarrolladores a fin de obtener más detalles.

Cambios en la API

  • La API de AutomotiveCarInfo pasó a ser experimental (Ia13e5).
  • Se agregó el nivel de API 4 de la biblioteca de Car App (I2a2e7).
  • Nivel de API 4: Se agregó compatibilidad para configurar un elemento CarIcon en Pane (Ifcc12).
  • Nivel de API 4: Se agregó el método de acceso con código QR (Ib623e).
  • Nivel de API 4: Se agregó set/getFlags a Action (Ic03ab).
  • Nivel de API 4: Se agregó compatibilidad con el desplazamiento lateral y el zoom en PlaceListNavigationTemplate y RoutePreviewNavigationTemplate (I9d8a3).

Correcciones de errores

  • Nivel de API 4: Se agregó un mecanismo para permitir que las apps envíen actualizaciones de ubicación al host del vehículo (I3bad3).
  • Se solucionó un problema en el que la lógica de validación del host no encontraba correctamente el permiso TEMPLATE_RENDERER (I62618).

Versión 1.1.0

Versión 1.1.0

15 de diciembre de 2021

Lanzamiento de androidx.car.app:app-*:1.1.0. La versión 1.1.0 contiene estas confirmaciones.

Esta es una versión de estabilización, y no hay cambios de API en comparación con v1.1.0-rc01. Consulta también las notas de la versión de v1.2.0-alpha02 a fin de obtener más detalles sobre las nuevas funciones de la biblioteca de apps para vehículos.

Cambios importantes desde 1.0.0

  • Nivel de API 2: SignInTemplate y LongMessageTemplate que se pueden usar para flujos de acceso cuando el vehículo está estacionado
  • Nivel de API 2: Compatibilidad con la interactividad de mapas dentro de la NavigationTemplate
  • Nivel de API 2: Compatibilidad con textos de varios tamaños para permitir que las apps proporcionen diferentes versiones de strings según el tamaño de la pantalla del vehículo
  • Nivel de API 3: CarHardwareManager que se puede usar para consultar datos de hardware del vehículo, como el modelo y la marca, los niveles de combustible y otros sensores

Versión 1.1.0-rc01

3 de noviembre de 2021

Se lanzó androidx.car.app:app-*:1.1.0-rc01. La versión 1.1.0-rc01 contiene estas confirmaciones.

Esta es una versión de estabilización, y no hay cambios de API en comparación con v1.1.0-beta01. Se agregaron nuevas funciones experimentales (nivel de API 4) que se diseñaron para versiones futuras de Android Auto. Consulta las notas de la versión de v1.2.0-alpha01 para obtener más detalles sobre las APIs experimentales.

Versión 1.1.0-beta01

1 de septiembre de 2021

Lanzamiento de androidx.car.app:app-*:1.1.0-beta01. La versión 1.1.0-beta01 contiene estas confirmaciones.

Todas las funciones de v1.1.0 (nivel de API 2 o posterior) son totalmente compatibles con Android Auto 6.7 y versiones posteriores. Consulta la guía para desarrolladores a fin de obtener más detalles.

Cambios en la API

  • Se quitó Manager como interfaz pública (Ie381b).
  • Se agregó la capacidad de establecer un fondo de marca personalizado para la solicitud de permisos (I74b76).
  • Se agregó ScreenManager.getStackSize (I0b16a).
  • Se quitó el constructor ScreenController, que toma explícitamente TestCarContext (Iefebc).

Correcciones de errores

  • Se agregó la verificación del nivel de API cuando se crea CarHardwareManager (I48f9b).
  • Se agregaron verificaciones de usos de CarSpan no válidos en la API (I65ae6).
  • Se solucionó un problema por el que, si se marcaba Screen como finalizada durante su creación, dejaba la pila en un estado dañado (I81b13).
  • Se solucionó un problema por el que CarNotificationManager.notify registraba un error para AutomotiveOS si había acciones con íconos en CarAppExtender (I3633d).
  • Se agregó un método de protocolo de enlace para que la app y el host establezcan una versión de API (I7d6f8).

Versión 1.1.0-alpha02

21 de julio de 2021

Lanzamiento de androidx.car.app:app-*:1.1.0-alpha02. La versión 1.1.0-alpha02 contiene estas confirmaciones.

Nuevas funciones

  • Nivel de API 3: Se agregó un CarHardwareManager que se puede usar para consultar datos de hardware del vehículo, como el modelo y la marca, los niveles de combustible y otros sensores. Actualmente, esta función solo está disponible para Android Auto 6.7 y versiones posteriores en el canal de pruebas abiertas. Para probarla en un entorno de escritorio, se requiere una versión nueva de Desktop Head Unit, que se lanzará por separado. Consulta la página Cómo probar apps de Android para vehículos a fin de obtener información detallada sobre cuándo habrá una versión nueva disponible.
  • Sigue la guía para desarrolladores y la referencia sobre la biblioteca para obtener detalles adicionales y lineamientos de diseño sobre el uso de estas funciones en hosts de vehículos que son compatibles con el nivel de API 3.

Cambios en la API

  • Se consolidaron los métodos de ciclo de vida SessionController y ScreenController en un solo método moveToState (I1ed00).
  • Se agregó CarContext#getHostInfo() (I8977e).
  • Se quitaron los campos obsoletos (I67168).
  • Se actualizaron SessionController y ScreenController para exponer los constructores de forma directa (Iabf22).
  • Se quitaron PinSignInMethod.Builder y ProviderSignInMethod.Builder (I9f0cb).
  • Se agregó "setCarAppResult()" a fin de habilitar el uso de apps basadas en plantillas "para obtener un resultado" en AAOS (I37741).
  • Se anotaron las interfaces de CarHardware con @MainThread (Ib2f85).
  • Se cambió el nombre de OnCarDataListener a OnCarDataAvailableListener (I518ca).
  • Se cambiaron los nombres de los métodos CarInfo, Speed y Mileage, y se actualizó javadoc (I86672).
  • Se cambió el nombre de Toll a TollCard (I3e7c8).
  • Se quitó el objeto PinSignInMethod.getPin obsoleto que se reemplazó por PinSignInMethod.getPinCode (I996ce).
  • Se quitó OnInputCompletedListener (se reemplazó con InputCallback) (Ib5be1).
  • Se cambió PinSignInMethod para que tome CharSequence en lugar de String (I275d5).

Correcciones de errores

  • Se implementaron correcciones de Javadoc para el hardware de autos (I2abbc).

Contribución externa

Errores conocidos

  • El uso de InputSignInMethod dentro de SignInTemplate puede generar una NullPointerException en el host del vehículo. Este tema se abordará en la próxima versión de la biblioteca. Para solucionar este problema, incluye la siguiente línea en la configuración de ProGuard de tu app: -keep class androidx.car.app.model.signin.InputSignInMethod { *; }

Versión 1.1.0-alpha01

16 de junio de 2021

Lanzamiento de androidx.car.app:app:1.1.0-alpha01, androidx.car.app:app-automotive:1.1.0-alpha01 y androidx.car.app:app-testing:1.1.0-alpha01. La versión 1.1.0-alpha01 contiene estas confirmaciones.

Nuevas funciones

  • Nivel de API 2: SignInTemplate y LongMessageTemplate nuevas que se pueden usar para flujos de acceso cuando el vehículo está estacionado
  • Nivel de API 2: Compatibilidad nueva con la interactividad de mapas dentro de la NavigationTemplate
  • Nivel de API 2: Compatibilidad nueva con textos de varios tamaños para permitir que las apps proporcionen diferentes versiones de strings según el tamaño de la pantalla del vehículo
  • Sigue la guía para desarrolladores y el Javadoc de la biblioteca para obtener detalles adicionales y lineamientos de diseño sobre el uso de estas funciones en hosts de vehículos que son compatibles con el nivel de API 2.

Cambios en la API

  • Se volvieron predeterminados todos los métodos de interfaz *Callback y se cambió el nombre de OnRequestPermissionsCallback a OnRequestPermissionsListener (Ib3ec9).
  • Se actualizaron las clases androidx.car.app.hardware para quitar los compiladores y las clases de parámetros innecesarios (I67beb).
  • Se agregaron clases androidx.car.app.hardware para acceder a datos específicos del vehículo, como la batería, la velocidad y el nivel de combustible (Iff3c9).
  • Se agregó compatibilidad con ActionStrip en MessageTemplate (Ida657).
  • Se agregó setLoading a MessageTemplate (I2a4b5).
  • Se cambió el nombre de ConnectionToCar a CarConnection (Ife9bd).
  • Se cambió NavigationTemplate para mostrar un PanModeDelegate explícito (I13877).
  • Se actualizó el orden de parámetros para CarContext.requestPermissions (Ib890a).
  • Se actualizó la clave de metadatos a fin de definir el nivel de API mínimo para vehículos en androidx.car.api.minCarApiLevel (Ib0d41).
  • Se creó una API que permite observar el estado de conexión del vehículo (Ifc935).
  • Se agregó compatibilidad a fin de configurar un botón de activación para una Action y se agregó el tipo Action del modo de desplazamiento lateral (Ica6af).
  • Se creó CarNotificationManager a fin de admitir el envío de notificaciones en el vehículo (I10d7a).
  • Se agregó ConstraintManager para proporcionar límites de lista del host (I8690e).
  • Se agregó el modo de desplazamiento lateral y la API de la barra de acciones en mapa, en NavigationTemplate (I77aa6).
  • Se agregó la API de zoom y de desplazamiento lateral en SurfaceCallback para las apps de navegación (Id5e9d).
  • Se actualizó el CarAppApiLevel a 2 (Ic1540).
  • Se agregó la capacidad de solicitar permisos de un CarAppService (I5421e).
  • Se agregó la anotación RequiresCarApi(2) a la API de multi-text (Iacb62).
  • Se permiten diferentes variantes de texto en el título de la plantilla de mitad de la lista (Ib8df7).
  • Se agregó una LongMessageTemplate nueva (requiere el nivel de API 2 para vehículos) (Ic5cee).

Correcciones de errores

  • Se actualizaron los requisitos de tamaño de la imagen para admitir pantallas de vehículos más grandes (I116dc).
  • No se permite agregar más de 2 acciones en los cuerpos de las plantillas (I32157).
  • Se garantizó la creación de todos los PendingIntent en las marcas establecidas, en la biblioteca de la app para vehículos (If84fe, b/186394900).
  • Se actualizó javadoc a fin de permitir los cambios de texto de Row como actualizaciones (If3f9c).
  • Ahora, androidx.activity:activity:1.2.0 es una dependencia de API (Id1cb9).
  • Se hizo que SignInTemplate y LongMessageTemplate requieran en el cuerpo acciones que solo se realizan con el vehículo estacionado y documentación actualizada para indicar que se mostrarán únicamente cuando el vehículo está estacionado (Iddaa9).
  • Se corrigió una excepción que se producía cuando se abría una Screen durante el inicio (Ifcf40, b/184664896).
  • Se permite el color de texto personalizado en ForegroundCarColorSpan (I69e59).
  • Se solucionó un problema en el que se observaba ON_DESTROY en una instancia de Session después de producirse un ON_DESTROY de Screen (I52e01, b/183696617).
  • Se actualizó javadoc para cuando se permite configurar el tiempo restante de una TravelEstimate en un tiempo desconocido (I99610, b/183632456).
  • Se actualizó Action para admitir ForegroundColorSpan en el título y cualquier color de fondo personalizado (I578e4).
  • No ejecutes NavigationManagerCallback#onStopNavigation si se borra la devolución de llamada antes de que se ejecute el ejecutor (I7fc5e, b/181143772).
  • Se solucionó un problema por el cual se requería que la app tomara de forma explícita una dependencia en lifecycle-common-java8 (I8b8c8).

Errores conocidos

  • En la SignInTemplate, el teclado en pantalla muestra un ícono de "búsqueda" en lugar de un ícono para "ingresar" cuando el usuario quiere confirmar la entrada. De forma alternativa, los usuarios pueden acceder al teclado del teléfono que se activa cuando se enfoca el campo de entrada.
  • En la versión 6.5 de Android Auto, es posible que las devoluciones de llamada de zoom y de desplazamiento lateral en SurfaceCallback se invoquen de forma errónea con algunos gestos táctiles.

Car App Testing versión 1.0.0

Versión 1.0.0-alpha01

24 de marzo de 2021

Lanzamiento de androidx.car.app:app-testing:1.0.0-alpha01. La versión 1.0.0-alpha01 contiene estas confirmaciones.

Esta es la primera versión de Jetpack de la biblioteca de pruebas de código cerrado anterior. Consulta nuestros ejemplos para usar esta biblioteca en tus pruebas.

Nuevas funciones

  • Se quitaron los controladores para las clases de modelo. Los métodos get de los modelos ahora forman parte de la superficie de la API pública, lo que permite validar aquellos valores que se establecieron en los compiladores.
  • Se reemplazó el CarAppServiceController anterior por el nuevo SessionController para probar la lógica relacionada con el ciclo de vida de la conexión a los hosts.

Versión 1.0.0

Versión 1.0.0

21 de abril de 2021

Lanzamiento de androidx.car.app:app:1.0.0. La versión 1.0.0 contiene estas confirmaciones.

Funciones principales de la versión 1.0.0

  • A principios de abril, anunciamos que las apps ya pueden publicar en el canal de producción con androidx.car.app:app:1.0.0-rc01. La Biblioteca de apps para vehículos v1.0.0 ahora es estable y totalmente compatible con Android Auto 6.1 y versiones posteriores.
  • Consulta la guía para desarrolladores a fin de obtener información sobre la compilación de apps de carga, navegación y estacionamiento para Android Auto con la biblioteca.

Correcciones de errores

  • Se corrigió una excepción que se producía cuando se abría una Screen durante el inicio (70aae1, b/184664896).
  • Se solucionó un problema en el que se observaba ON_DESTROY en una instancia de Session después de producirse un ON_DESTROY de Screen (0ceecb, b/183696617).

Versión 1.0.0-rc01

24 de marzo de 2021

Lanzamiento de androidx.car.app:app:1.0.0-rc01. La versión 1.0.0-rc01 contiene estas confirmaciones.

Correcciones de errores

  • Se corrigió un error de condición de carrera en el que se llamaba a NavigationManagerCallback#onStopNavigation después de que se borraba la devolución de llamada. Esto ocurría si se borraba la devolución de llamada antes de que se ejecutara el ejecutor de devolución de llamada (I7fc5e, b/181143772).
  • Se solucionó un problema por el que la app requería una dependencia en lifecycle-common-java8 de forma explícita (I8b8c8).
  • Se corrigió una NullPointerException que se producía cuando la app recibía una llamada stopNavigation cuando ya se había quitado una devolución de llamada (Ib8b89, b/181143772).
  • Se implementaron mejoras para no enviar llamadas a la app si su ciclo de vida no está al menos en un estado CREATED (I86965, b/179800224, b/177921120).
  • Se solucionó un problema por el que se generaba una API mínima no válida especificada en el manifiesto de la app, lo que provocaba un error de ANR en el host (Iffedd, b/174231592).

Versión 1.0.0-beta01

24 de febrero de 2021

Lanzamiento de androidx.car.app:app:1.0.0-beta01. La versión 1.0.0-beta01 contiene estas confirmaciones.

Esta es la primera versión de Jetpack de la biblioteca de código cerrado anterior y es compatible con Android Auto 6.1 o versiones posteriores. Sigue la guía para desarrolladores a fin de obtener más información sobre la compilación de apps para vehículos con la biblioteca.

Nuevas funciones

Correcciones de errores

  • Se solucionó un problema por el cual se reanudaba el elemento Screen incorrecto cuando resaltaban las pantallas de forma secuencial (b/177590791).