App per auto

Crea app basate su modelli per Android Auto e Android Automotive OS.
Ultimo aggiornamento Release stabile Candidato per la release Versione beta Alpha Release
16 luglio 2025 1.7.0 - - 1.8.0-alpha02

Dichiarazione di dipendenze

Per aggiungere una dipendenza dalla libreria di app per auto, devi aggiungere il repository Maven di Google al tuo progetto. Per saperne di più, consulta il repository Maven di Google.

Aggiungi le dipendenze per gli artefatti che ti servono nel file build.gradle per la tua app o il tuo modulo:

Alla moda

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

Per saperne di più sulle dipendenze, consulta Aggiungere dipendenze di build.

Feedback

Il tuo feedback ci aiuta a migliorare Jetpack. Facci sapere se riscontri nuovi problemi o hai idee per migliorare questa libreria. Prima di crearne uno nuovo, dai un'occhiata ai problemi esistenti in questa libreria. Puoi aggiungere il tuo voto a un problema esistente facendo clic sul pulsante a forma di stella.

Creare un nuovo problema

Per ulteriori informazioni, consulta la documentazione di Issue Tracker.

Versione 1.8

Versione 1.8.0-alpha02

18 giugno 2025

androidx.car.app:app-*:1.8.0-alpha02 viene ritirata. La versione 1.8.0-alpha02 contiene questi commit.

Nuove funzionalità

  • È stato aggiunto il supporto per Action.MEDIA_PLAYBACK, che mostra un indicatore in base allo stato di riproduzione dei contenuti multimediali.
  • Aggiunto il supporto per il controllo della posizione di scorrimento di un utente al momento dell'aggiornamento di SectionedItemTemplate.

Modifiche alle API

  • Aggiungi il supporto per il salvataggio della posizione di scorrimento di un utente all'interno di SectionedItemTemplate tra gli aggiornamenti. (Ia4c51)
  • Azione MEDIA_PLAYBACK aggiornata per abilitarla per l'azione di fine riga (I05cc4)
  • Aggiungere un nuovo tipo di azione (I6cc5a)
  • Aggiungi CarAppExtender#addAction(Action) in modo che qualsiasi tipo di azione possa essere aggiunto a CarAppExtender. (Idc4d7)
  • SectionedItemTemplate è stato reso accessibile per l'API 8 e versioni successive. (I9a079)

Versione 1.8.0-alpha01

20 maggio 2025

androidx.car.app:app-*:1.8.0-alpha01 viene ritirata. La versione 1.8.0-alpha01 contiene questi commit.

Nuove funzionalità

Tutte le funzionalità sono temporaneamente disponibili solo su Android Auto. Le stesse API verranno utilizzate in AAOS

  • È stata aggiunta la categoria Media per creare applicazioni personalizzate, in alternativa a quelle basate su MediaBrowse
  • È stato aggiunto il modello di riproduzione, che consente di controllare le azioni principali nella visualizzazione di riproduzione dei contenuti multimediali (disponibile solo per le app multimediali)
  • È stato aggiunto il supporto completo per il modello di elemento sezionato su Android Auto, che consente combinazioni di sottosezioni costituite da elenchi/griglie.
  • È stata aggiunta la taglia Extra Large come taglia aggiuntiva per gli elementi della griglia.

Modifiche alle API

  • Aggiungere un'opzione di dimensione aggiuntiva per gli elementi della griglia (I35b58)
  • Aggiunge la categoria e l'autorizzazione per le app multimediali alla libreria di app per auto (I8e100)
  • È stata aggiunta una nuova API per consentire alle app di rilevare se la categoria di contenuti multimediali CarAppLibrary è supportata (Ic4b08)
  • Elemento OnItemVisibilityChangeListener aggiunto alla sezione. (I2c2fd)
  • Aggiunta di Mileage#getOdometerKilometers e ritiro di Mileage#getOdometerMeters (Ic91af)

Correzioni di bug

  • Correzione di un errore di battitura nel Javadoc di CarIcon.setTint (Iabd72)
  • È stata aggiornata la documentazione di Row.Builder#setNumericDecoration per indicare che un'azione più la decorazione numerica non è supportata, mentre 0 o 2 azioni più la decorazione numerica lo sono. (Ic0b08)
  • È stato aggiunto il campo per il colore di sfondo dell'icona del badge per gli elementi della griglia. (I2b6ae)

Versione 1.7

Versione 1.7.0

16 luglio 2025

androidx.car.app:app-*:1.7.0 viene ritirata. La versione 1.7.0 contiene questi commit.

  • Questa è la prima release stabile che include la correzione per CVE-2024-10382 applicata alla versione beta03. Se utilizzi una versione precedente alla 1.7-beta03, esegui l'aggiornamento per utilizzare questa versione.

Versione 1.7.0-rc01

15 gennaio 2025

androidx.car.app:app-*:1.7.0-rc01 viene rilasciato senza modifiche significative rispetto alla versione beta03. La versione 1.7.0-rc01 contiene questi commit.

  • Questa è la prima RC che include la correzione per CVE-2024-10382 applicata in beta03. Se utilizzi una versione precedente alla 1.7-beta03, esegui l'aggiornamento per utilizzare questa versione.

Versione 1.7.0-beta03

13 novembre 2024

È stata corretta una vulnerabilità di sicurezza e sono state apportate altre correzioni di bug generali. Se utilizzi una versione precedente, esegui l'aggiornamento per utilizzare questa versione.

androidx.car.app:app-*:1.7.0-beta03 viene ritirata. La versione 1.7.0-beta03 contiene questi commit.

Modifiche alle API

  • Aggiorna il codice di serializzazione / deserializzazione CAL in modo che gestisca solo gli oggetti su cui è dichiarata l'annotazione @CarProtocol. (Ic730e)
  • Ora CarAppExtender può essere utilizzato per estendere il framework Notification.Builder anziché solo NotificationCompat.Builder. (Id3ad7)
  • Aggiungi KEY_EXCLUDE_MEDIA_ITEM_FROM_MIXED_APP_LIST extra. (I201f9)
  • Ritira il costruttore Builder vuoto su ConversationItem e sostituiscilo con un costruttore che accetta i parametri obbligatori. Aggiunge anche un controllo per proteggerti dai messaggi nulli. (Ic8221)

Correzioni di bug

  • Assicurati che la mappa PlaceList utilizzi il titolo dell'intestazione stringa (solo testo). (Ic992f)
  • Questa libreria ora utilizza le annotazioni di nullabilità JSpecify, che sono di tipo use. Gli sviluppatori Kotlin devono utilizzare il seguente argomento del compilatore per imporre l'utilizzo corretto: -Xjspecify-annotations=strict (questo è il valore predefinito a partire dalla versione 2.1.0 del compilatore Kotlin). (Ib5367, b/326456246)

Versione 1.7.0-beta02

18 settembre 2024

androidx.car.app:app-*:1.7.0-beta02 viene ritirata. La versione 1.7.0-beta02 contiene questi commit.

Modifiche alle API

  • Aggiungi KEY_ROOT_HINT_MEDIA_HOST_VERSION extra (I8796b)
  • Sostituisci la classe TabContents.Api8Builder con il costruttore @ExperimentalCarApi nella classe TabContents.Builder (I26fbe)
  • Aggiungi azione intent ed extra per CarMediaApp (I50782)
  • Contrassegnare le API di messaggistica come non sperimentali (I0b070)
  • Aggiungi il caricamento di elementi remoti a SectionedItemTemplate (consente il caricamento di elenchi lunghi senza arresti anomali) (I0d122)
  • Aggiungi SectionedItemTemplate all'elenco dei modelli supportati all'interno di TabTemplate nell'API 8. (Idc5d6)

Correzioni di bug

  • È stata rimossa la definizione manuale dell'accesso alle nuove API della piattaforma, poiché questa avviene automaticamente tramite la modellazione delle API quando si utilizza R8 con AGP 7.3 o versioni successive (ad es. R8 versione 3.3) e per tutte le build quando si utilizza AGP 8.1 o versioni successive (ad es. D8 versione 8.1). I client che non utilizzano AGP sono invitati a eseguire l'aggiornamento alla versione 8.1 o successive di D8. Consulta questo articolo per ulteriori dettagli. (I9496c, b/345472586)

Versione 1.7.0-beta01

26 giugno 2024

androidx.car.app:app-*:1.7.0-beta01 viene ritirata. La versione 1.7.0-beta01 contiene questi commit. Le funzionalità sono le stesse pubblicate in alpha01, che vengono ripetute di seguito:

Nuove funzionalità

  • Mappa con contenuti:nuovo modello che include un canvas della mappa e un modello di contenuti, che per ora può essere Elenco / Griglia / Riquadro / Messaggio.
    • RoutePreview, PlaceListNavigation e MapTemplate sono ora deprecati. I modelli continueranno a funzionare così come sono.
    • Le app di esempio sono state aggiornate per mostrare l'utilizzo di MapWithContent anziché i modelli ritirati
  • Elemento conversazione:nuove API per la visualizzazione di conversazioni (messaggistica istantanea, SMS) e lettura dell'assistente in auto.
  • Dimensioni del veicolo:nuova API per recuperare le misure del veicolo (dati su AAOS al momento).

Modifiche alle API

  • Aggiungi il tag @ExperimentalCarApi a MediaPlaybackTemplate.Builder. (Ic1957)
  • Aggiunge un nuovo SectionedItemTemplate in sperimentale. (I5958a)
  • Presenta CarAppApiLevel 8 (I3fa22)
  • Aggiunge MediaPlaybackTemplate per la visualizzazione dei contenuti durante la riproduzione di contenuti multimediali nella libreria di app per auto. (I3c10d)
  • È stata aggiunta una nuova API per consentire alle app di rilevare se il sistema supporta l'audio in background durante la guida (I0f868).

Correzioni di bug

  • Correzioni di alcune istanze di perdite di memoria e arresti anomali nel codice client CAL e nell'app di esempio di navigazione CAL. (I55e04)
  • Sostituisci requireNotNull instances nel metodo onDestroy di BaseCarAppActivity con controlli if-null per evitare arresti anomali. (Iec676)

Versione 1.7.0-alpha02

17 aprile 2024

androidx.car.app:app-*:1.7.0-alpha02 viene ritirata. La versione 1.7.0-alpha02 contiene questi commit.

Nuove funzionalità

  • Sono stati aggiunti flag ritirati per i modelli basati su mappe, che verranno sostituiti dal modello MapWithContent.

Modifiche alle API

  • Deprecare i vecchi MapTemplate, RoutePreviewNavigationTemplate, PlaceListNavigationTemplate e incoraggiare l'utilizzo del nuovo MapWithContentTemplate (Ib0a08)

Versione 1.7.0-alpha01

3 aprile 2024

androidx.car.app:app-*:1.7.0-alpha01 viene ritirata. Abbiamo spostato il nostro schema di controllo delle versioni della libreria in modo che corrisponda alla versione attiva di CarApi. Questo per ridurre la confusione sullo schema di denominazione in base al feedback degli sviluppatori. Di conseguenza, salteremo le versioni 1.5 / 1.6 e passeremo direttamente alla 1.7. La versione 1.7.0-alpha01 contiene questi commit.

Nuove funzionalità

  • Mappa con contenuti: nuovo modello denominato MapWithContent che supporta Elenco / Griglia / Riquadro / Messaggio come contenuti all'interno di una mappa.
    • RoutePreview, PlaceListNavigation e i modelli di mappe sono ora obsoleti.
    • Le app di esempio sono state aggiornate per mostrare la funzionalità dei modelli ritirati utilizzando MapWithContent.
  • Elemento conversazione: nuove API per la visualizzazione di conversazioni (messaggistica istantanea, SMS) e lettura dell'assistente in auto.
  • Dimensioni del veicolo: nuova API per recuperare le misure del veicolo (dati su AAOS al momento).

Modifiche alle API

  • Contrassegna il tipo di immagine della riga extra piccola come sperimentale (I5184b)
  • È stata aggiunta l'API CarInfo#fetchExteriorDimensions, che consente l'accesso alle informazioni sulle dimensioni esterne del veicolo, come altezza, larghezza e così via (Ia40c5).
  • Tag ExperimentalAPI rimosso da MapWithContentTemplate (I66db8)
  • Aggiorna il parametro GridItem#setTitle in modo che possa accettare valori nulli. (I3d610)
  • L'API GetHeader non richiede l'API 7 perché è compatibile con le versioni precedenti (I8c812)
  • Aggiunta del supporto per Header in ListTemplate, ritiro di headerAction, headerTitle, actionStrip (I7ae01)
  • Depreca title, headerAction, actionStrip in GridTemplate e aggiungi il supporto per Header (I41a9c)
  • Rimozione del requisito di livello 7 per le API sperimentali: badge, metodi getter/setter per dimensioni e forma delle immagini dell'elemento GridTemplate, metodi GridItem per ottenere/impostare il badge. (Id71eb)
  • Depreca title, headerAction, actionStrip in PaneTemplate, aggiungi il nuovo supporto Header (I23154)
  • Telemetria di Media Center modificata da BroadcastReceiver a Sfoglia azione personalizzata. (I4185f)
  • È stato aggiunto il supporto dell'attributo Header in MessageTemplate. Supporto deprecato per ActionStrip, headerAction e title. (Ie2de8)
  • Modifica la visibilità costante dell'avviso (Icf8a8)
  • Rimuovi l'attributo isLoading dal modello principale (I651e6)
  • Aggiungi extra per informare le app multimediali dei parametri principali della UI (I85ca2)
  • Aggiunta della funzionalità di analisi del centro media a MediaExtensions (I7ce28)
  • È stata aggiunta l'opzione per immagini extra piccole sulle righe. (I72c03)

Correzioni di bug

  • Aggiorna javadoc su ConversationItem per indicare che i messaggi devono essere ordinati dal più vecchio al più recente. (I77a2a)
  • Aggiorna la logica di troncamento di ListTemplate per rimuovere i messaggi meno recenti da ConversationItem (Ie0a61)

Versione 1.4

Versione 1.4.0

29 maggio 2024

androidx.car.app:app-*:1.4.0 viene ritirata. La versione 1.4.0 è una promozione della versione 1.4.0-rc02.

Modifiche importanti dalla versione 1.3.0

  • Rendering della mappa sul quadro strumenti per le app di navigazione
  • Nuovo modello di scheda per un layout / usabilità dell'app migliorati
  • Supporto per i limiti adattivi delle attività
  • Azioni secondarie sugli elementi dell'elenco

Versione 1.4.0-rc02

13 dicembre 2023

androidx.car.app:app-*:1.4.0-rc02 viene ritirata. La versione 1.4.0-rc02 contiene questi commit. Solo correzioni minori

Correzioni di bug

  • Aggiorna Javadoc su ConversationItem per indicare che i messaggi devono essere ordinati dal meno recente al più recente (I77a2a)
  • Aggiorna la logica di troncamento di ListTemplate per rimuovere i messaggi meno recenti da ConversationItem (Ie0a61)

Versione 1.4.0-rc01

1° novembre 2023

androidx.car.app:app-*:1.4.0-rc01 viene rilasciato senza modifiche significative. La versione 1.4.0-rc01 contiene questi commit.

Versione 1.4.0-beta02

20 settembre 2023

androidx.car.app:app-*:1.4.0-beta02 viene ritirata. La versione 1.4.0-beta02 contiene questi commit. È quasi identica alla beta01, ma abbassa il requisito compileSdk a 33.

Correzioni di bug

  • È stato corretto un bug per cui le schermate di caricamento nelle schede non venivano visualizzate correttamente. (cae860)

Versione 1.4.0-beta01

9 agosto 2023

androidx.car.app:app-*:1.4.0-beta01 viene ritirata. La versione 1.4.0-beta01 contiene questi commit.

Nota:1.4-beta01 richiede compileSdk34, che è ancora in stato di sviluppo. La versione 1.4-beta02 correggerà questo problema. In alternativa, puoi aggiungere android.suppressUnsupportedCompileSdk=34 al file settings.gradle del tuo progetto per eliminare temporaneamente l'avviso in modo sicuro.

Nuove funzionalità

Modifiche alle API

  • Visualizza alpha02

Versione 1.4.0-alpha02

26 luglio 2023

androidx.car.app:app-*:1.4.0-alpha02 viene ritirata. La versione 1.4.0-alpha02 contiene questi commit.

  • Il rilascio di Alpha02 ha lo scopo di preparare una futura release di beta01.

Nuove funzionalità

  • Supporto del rendering delle mappe sul quadro strumenti per le app di navigazione
  • Schede aggiunte per le app per migliorare l'esperienza di layout
  • Aggiunte opzioni di rendering dei modelli Elenco / Griglia
  • Sono state aggiunte nuove categorie per Meteo e Comunicazioni
  • Spostare diverse API nella prossima release di CarApi 7

Modifiche alle API

  • Aggiungi campi multimediali a CarMessage (I5aaf6)
  • Aggiunge azioni personalizzate a ConversationItem nella libreria di app per auto (Ie5ed6)
  • Aggiungi extra per indicare che un elemento multimediale viene riprodotto con un formato audio immersivo e mostrare il logo del formato dei contenuti (Icb5bb)
  • Aggiungi il nuovo tipo di azione, ActionsConstraints API, per supportare il pulsante di composizione. (I31661)
  • Realizzato set/getTemplate come set/get ContentTemplate (Ica036)
  • Il parametro del modello ora sarà @NonNull. Documentazione dell'API MapWithContentTemplate aggiornata (I0f8ed)
  • Rimuove il tag @ExperimentalCarApi per le azioni in ListTemplate per il lancio in CAL 1.4 (I2cfcb)
  • Rimuove il tag @ExperimentalCarApi per TabTemplate (Ifcb82)
  • Rimuovere le annotazioni @ExperimentalCarApi dalle azioni secondarie e dalle decorazioni delle righe (I8487e)
  • Aggiunge l'ID dei contenuti della scheda attiva a TabTemplate e ritira lo stato attivo nelle schede (I96932)
  • Aggiungi la proprietà ItemImageShape a GridTemplate (Ibf431)
  • Aggiungi la proprietà ItemSize a GridTemplate, che controlla il dimensionamento degli elementi della griglia in base a bucket relativi piccoli, medi e grandi. (Icdb3b)
  • Apri l'accesso API per gli sviluppatori per ottenere una copia dello stack di schermate corrente. (I48107)
  • Aggiunge la categoria per le app meteo alla libreria di app per auto (I2be44)
  • Aggiunge la categoria per le app di chiamata alla libreria di app per auto (Icab33)
  • GridItem.Builder#setBadge() sostituito con metodi setImage() sovraccarichi (Id2000)
  • Aggiungi la proprietà dell'icona al badge (I629b2)
  • Aggiungi metodo per impostare il colore di sfondo del badge puntino (I6411c)
  • Aggiungi la proprietà Badge a GridItem, consentendo la visualizzazione di un badge sopra un'immagine GridItem. (I95de7)
  • È stato aggiunto un oggetto Badge sperimentale che rappresenterà un badge da visualizzare sopra un'immagine. (I9878d)

Versione 1.4.0-alpha01

22 febbraio 2023

androidx.car.app:app-*:1.4.0-alpha01 viene ritirata. La versione 1.4.0-alpha01 contiene questi commit.

Modifiche alle API

  • Aggiunge azioni di primo livello a GridTemplate nella libreria di app per auto (Id0191)
  • Aggiunge azioni di primo livello a ListTemplate nella libreria di app per auto (I9efab)
  • Aggiungi extra per collegare il sottotitolo o la descrizione di un elemento multimediale ad altri elementi multimediali (Ic84bf)
  • Aggiorna il livello API per le azioni a livello di riga al livello 6. (Ie0a69)
  • Aggiungi callback di messaggistica ad A4C (Ie3986)

Correzioni di bug

  • Aggiungi i riferimenti JavaDoc mancanti per CarMessage. (I5db1c)
  • Esegui l'override di equals() e hashCode() per ConversationItem e CarMessage (I6fd10)
  • Migliora la convalida di ConversationItem.mMessages (richiedi non null, non vuoto (Iafc51)
  • Aggiungi annotazioni @Keep ai campi ConversationItem (I5d250)
  • Aggiorna la documentazione Java per la decorazione delle righe e le azioni secondarie. (I000b6)

Versione 1.3

Versione 1.3.0-rc01

7 dicembre 2022

androidx.car.app:app-*:1.3.0-rc01 viene ritirata. La versione 1.3.0-rc01 contiene questi commit.

  • Correzioni di bug minori rispetto alla beta01. Nessuna modifica importante.

Versione 1.3.0-beta01

7 settembre 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 e androidx.car.app:app-testing:1.3.0-beta01 sono rilasciati. La versione 1.3.0-beta01 contiene questi commit.

Nuove funzionalità

Oltre alle funzionalità aggiunte nella libreria di app per auto 1.3.0-alpha01, sono state aggiunte le seguenti funzionalità nell'ambito di beta01 (tutte le funzionalità qui riportate riguardano solo modifiche lato host senza modifiche all'API):

  • La barra di navigazione mobile continuerà a essere visualizzata anche quando un utente si trova in una schermata di selezione basata su mappa in PlaceListNavigationTemplate, RoutePreviewNavigationTemplate e MapTemplate. Per farlo, aggiorna le informazioni di navigazione tramite NavigationManager.updateTrip().
  • Attiva il pulsante di azione con FLAG_DEFAULT per visualizzare un'animazione di timeout. Questo pulsante verrà selezionato per impostazione predefinita dopo il timeout. ([API 5 - All Templates])
  • Il sottotitolo di un Row non viene troncato quando l'auto è parcheggiata, ma viene troncato a due righe durante la guida. ([API 5 - All Templates])
  • Supporta lo stato disattivato per Action, Toggle, Row ([API 5 - All Templates])

Modifiche alle API

  • Rilassa i vincoli nell'elenco MapTemplate per supportare gli elenchi selezionabili (I961ed)
  • Rimuovi il vincolo per le azioni dell'intestazione per consentire l'utilizzo di icone personalizzate. (Iad28f)
  • Aggiungi un vincolo setOnClickListenerAllowed() a ActionsConstraints. Dove è consentito Action impostare OnClickDelegate() per le azioni, ad eccezione dei tipi di icone standard. (TYPE_APP_ICON, TYPE_BACK e TYPE_PAN) (I3c745)

Correzioni di bug

Versione 1.3.0-alpha01

27 luglio 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 e androidx.car.app:app-testing:1.3.0-alpha01 sono rilasciati. La versione 1.3.0-alpha01 contiene questi commit.

Le funzionalità annotate con il livello API 5 sono compatibili con Android Auto 7.9 e versioni successive.

Nuove funzionalità

  • Livello API 5: nuovo MapTemplate che può essere utilizzato dalle app di navigazione per visualizzare il contenuto del riquadro o dell'elenco insieme a una mappa (If5826, If44b8)
  • Livello API 5: nuova API CarAudioRecord per consentire la registrazione dell'input audio tramite il microfono del veicolo host (I5e71a)
  • Livello API 5: nuova API SuggestionManager per consentire alle app di fornire suggerimenti all'host (I5c103)
  • Livello API 5: nuova API Alert per visualizzare le notifiche contestuali su NavigationTemplate (I163a7, I5ad70)
  • Livello API 5: nuovi componenti Header e MapController per facilitare il riutilizzo nei modelli (If5826)
  • Aggiunta di androidx.car.app.category.POI come categoria per l'attivazione delle app PDI (e ritiro di androidx.car.app.category.PARKING e androidx.car.app.category.CHARGING) (I59da1)

Modifiche alle API

  • Livello API 5: nuovo metodo onClick nell'interfaccia SurfaceCallback per consentire l'interattività con tocco sulla mappa (Ia9777)
  • Livello API 5: nuovi flag Action.FLAG_IS_PERSISTENT e Action.FLAG_DEFAULT per descrivere le Action (I96318, I5ad70)
  • Livello API 5: nuovo stato attivato/disattivato per i componenti Action, Row e Toggle (supporto dell'host in arrivo con la release 1.3.0-beta01 della libreria) (Id8a09)
  • Livello API 5: preferisci il nuovo componente Header tramite setHeader su PlaceListNavigationTemplate.Builder e RoutePreviewNavigationTemplate.Builder, ritirando i metodi setTitle e setHeaderAction esistenti (I30e6a)
  • Livello API 5: nuovo metodo setOnContentRefreshListner su PlaceListMapTemplate.Builder e PlaceListNavigationTemplate.Builder da utilizzare con le implementazioni della nuova interfaccia OnContentRefreshListner.
  • Livello API 5: nuovi setTripText e setTripIcon su TravelEstimate.Builder per personalizzare la scheda di stima del viaggio (Idcc6d, Ic620d)
  • Aggiunta del supporto per CarIconSpan nel titolo di PaneTemplate (Ia1ee0)
  • Aggiunta del supporto per i CarIconSpan nei titoli e nel testo di un Row (Ic1e3c)
  • Le mappe ActionStrip ora possono avere fino a quattro azioni (If3522)
  • Aggiorna il livello API Car App a 5 (I26b8e)
  • Le intestazioni/i titoli ora sono facoltativi per PlaceListMapTemplate, PlaceListNavigationTemplate, RoutePreviewNavigationTemplate, GridTemplate, ListTemplate, LongMessageTemplate, MessageTemplate, PaneTemplate e SignInTemplate (I2078d, Icadde)

Correzioni di bug

  • Aggiornamento delle regole di dimensionamento delle immagini PaneTemplate in modo che siano un riquadro di selezione quadrato (Idd72e)
  • È stata corretta un'eccezione che si verifica se lo stack di schermate viene modificato dopo State.DESTROYED. (I3c8eb)
  • È stato aggiunto un controllo dei valori null per il recupero dell'icona dell'app (I3f710)
  • Aggiorna l'API Car Hardware per utilizzare STATUS_UNKNOWN anziché STATUS_UNAVAILABLE per impostazione predefinita (Ic9444)
  • Verifica che la visualizzazione esista prima di creare la superficie (Ice027a)
  • Correggi il bug CarValue.equals() che riguarda STATUS_UNIMPLEMENTED (I24451)

Versione 1.2

Versione 1.2.0

9 novembre 2022

androidx.car.app:app-*:1.2.0 viene ritirata. La versione 1.2.0 contiene questi commit.

  • Si tratta di una release di stabilizzazione e non sono state apportate modifiche rispetto alla versione 1.2.0-rc01.

Versione 1.2.0-rc01

23 marzo 2022

androidx.car.app:app-*:1.2.0-rc01 viene ritirata. La versione 1.2.0-rc01 contiene questi commit.

  • Si tratta di una release di stabilizzazione e non sono state apportate modifiche all'API rispetto alla versione v1.2.0-beta02. Sono state aggiunte nuove funzionalità sperimentali (livello API 5) destinate alle future versioni di Android Auto e Android Automotive.

Correzioni di bug

  • È stata corretta un'eccezione che si verifica se lo stack di schermate viene modificato dopo State.DESTROYED. (I3c8eb)
  • API CarSensors aggiornate per indicare che non sono implementate per AAOS (Idd57b)
  • Aggiornamento di PlaceListMapTempalte.Builder#setCurrentLocationEnabled per indicare che ACCESS_COARSE_LOCATION sarebbe sufficiente per la funzionalità (I510c2)
  • È stato reso facoltativo il numero di uscita per i tipi di manovra di rotatoria con angolo (Ife7d1)

Versione 1.2.0-beta02

26 gennaio 2022

androidx.car.app:app-*:1.2.0-beta02 viene ritirata. La versione 1.2.0-beta02 contiene questi commit.

Le app per auto create con questa versione della libreria che hanno come target la piattaforma Android Automotive OS ora possono essere pubblicate sul canale di test aperto del Play Store. Per ulteriori dettagli, consulta la guida allo sviluppo.

Le funzionalità annotate con il livello API 4 e precedenti sono compatibili sia con Android Auto 7.2+ sia con la nuova piattaforma Android Automotive OS. Per le avvertenze, vedi la sezione Known Issues di seguito.

Modifiche alle API

  • Aggiunta dell'API sperimentale setOnContentRefreshListener ai modelli di PDI (I6bf22)

Correzioni di bug

  • È stata corretta una perdita di memoria in CarAppService quando l'host dell'auto viene scollegato. (I5c9ca, b/203594731)
  • Javadoc di CarAppActivity aggiornato per includere i requisiti per la modalità di avvio singleTask (Id2f95)
  • Riduce il problema visivo alla ripresa. (Iff7e0)

Problemi noti

  • Le mappe ActionStrip in PlaceListNavigationTemplate e RoutePreviewNavigateTemplate inizieranno a essere disponibili nelle prossime release Android Auto e Android Automotive OS.

Versione 1.2.0-alpha02

15 dicembre 2021

androidx.car.app:app-*:1.2.0-alpha02 viene ritirata. La versione 1.2.0-alpha02 contiene questi commit.

Le funzionalità annotate con il livello API 4 sono state aggiornate da sperimentali a stabili, tra cui le mappe ActionStrip in PlaceListNavigationTemplate e RoutePreviewNavigateTemplate, l'immagine CarIcon in Pane, QRCodeSignInMethod e la possibilità di impostare suggerimenti di rendering (ad es. flag) in Action.

Nuove funzionalità

  • In Android Auto 7.1 e versioni successive, il limite di elementi per Pane è stato aumentato da 2 a 4.

Modifiche alle API

  • È stato aggiunto un metodo toString() sperimentale a CarUnit(I36a3b)

Correzioni di bug

  • Risolto un arresto anomalo che si verificava in CarAppPermissionActivity se il callback non è attivo (If9823)
  • È stato modificato il limite predefinito dell'elenco Pane a 4 (I0068b)

Versione 1.2.0-alpha01

3 novembre 2021

androidx.car.app:app-*:1.2.0-alpha01 viene ritirata. La versione 1.2.0-alpha01 contiene questi commit.

Tutte le nuove funzionalità di v1.2.0 (API 4+) sono attualmente sperimentali e hanno come target le future release di Android Auto e Android Automotive OS. Per ulteriori dettagli, consulta la guida allo sviluppo.

Modifiche alle API

  • L'API AutomotiveCarInfo è stata resa sperimentale. (Ia13e5)
  • Aggiunto il livello API 4 della libreria di app per auto (I2a2e7)
  • Livello API 4: è stato aggiunto il supporto per l'impostazione di un CarIcon in Pane (Ifcc12)
  • Livello API 4: è stato aggiunto il metodo di accesso con codice QR (Ib623e)
  • Livello API 4: aggiunta di set/getFlags a Action (Ic03ab)
  • Livello API 4: è stato aggiunto il supporto per lo spostamento e lo zoom in PlaceListNavigationTemplate e RoutePreviewNavigationTemplate (I9d8a3)

Correzioni di bug

  • Livello API 4: aggiungi un meccanismo per consentire alle app di inviare aggiornamenti della posizione all'auto host (I3bad3)
  • Risolto un problema per cui la logica di convalida dell'host non trovava correttamente l'autorizzazione TEMPLATE_RENDERER (I62618)

Versione 1.1.0

Versione 1.1.0

15 dicembre 2021

androidx.car.app:app-*:1.1.0 viene ritirata. La versione 1.1.0 contiene questi commit.

Si tratta di una release di stabilizzazione e non sono state apportate modifiche rispetto a v1.1.0-rc01. Consulta anche le note di rilascio per v1.2.0-alpha02 per maggiori dettagli sulle nuove funzionalità della libreria di app per l'auto.

Modifiche importanti dalla versione 1.0.0

  • Livello API 2: SignInTemplate e LongMessageTemplate che possono essere utilizzati per i flussi di accesso quando il veicolo è parcheggiato
  • Livello API 2: supporto dell'interattività della mappa all'interno di NavigationTemplate
  • Livello API 2: supporto di testo di più lunghezze per consentire alle app di fornire più versioni della stringa da visualizzare a seconda delle dimensioni dello schermo dell'auto.
  • Livello API 3: CarHardwareManagerche può essere utilizzato per eseguire query sui dati hardware del veicolo, come modello e marca, livelli di carburante e altri sensori.

Versione 1.1.0-rc01

3 novembre 2021

androidx.car.app:app-*:1.1.0-rc01 viene ritirata. La versione 1.1.0-rc01 contiene questi commit.

Si tratta di una release di stabilizzazione e non sono state apportate modifiche all'API rispetto alla versione v1.1.0-beta01. Sono state aggiunte nuove funzionalità sperimentali (livello API 4) destinate alle future versioni di Android Auto. Per ulteriori dettagli sulle API sperimentali, consulta le note di rilascio di v1.2.0-alpha01.

Versione 1.1.0-beta01

1° settembre 2021

androidx.car.app:app-*:1.1.0-beta01 viene ritirata. La versione 1.1.0-beta01 contiene questi commit.

Tutte le funzionalità di v1.1.0 (API 2+) sono completamente compatibili con Android Auto 6.7 e versioni successive. Per ulteriori dettagli, consulta la guida allo sviluppo.

Modifiche alle API

  • Rimossa Manager come interfaccia pubblica (Ie381b)
  • È stata aggiunta la possibilità di impostare uno sfondo personalizzato con brand per la richiesta di autorizzazione (I74b76)
  • Aggiunto ScreenManager.getStackSize (I0b16a)
  • Rimosso il costruttore ScreenController che accetta esplicitamente TestCarContext (Iefebc)

Correzioni di bug

  • Aggiunta del controllo del livello API durante la creazione di CarHardwareManager (I48f9b)
  • Aggiunti controlli per l'utilizzo non valido di CarSpan nell'API (I65ae6)
  • È stato risolto un problema per cui se un Screen viene contrassegnato come completato durante la creazione, lo stack rimane in uno stato danneggiato (I81b13).
  • Risolvi un problema per cui CarNotificationManager.notify registrava un errore per AutomotiveOS se erano presenti azioni con icone in CarAppExtender (I3633d)
  • È stato aggiunto un metodo di handshake per l'app e l'host per stabilire una versione dell'API (I7d6f8)

Versione 1.1.0-alpha02

21 luglio 2021

androidx.car.app:app-*:1.1.0-alpha02 viene ritirata. La versione 1.1.0-alpha02 contiene questi commit.

Nuove funzionalità

  • Livello API 3: è stato aggiunto un CarHardwareManagerche può essere utilizzato per eseguire query sui dati hardware del veicolo, come modello e marca, livelli di carburante e altri sensori. Al momento, questa funzionalità è disponibile solo per Android Auto 6.7 e versioni successive nel canale di test aperto. Il test in un ambiente desktop richiede una nuova versione di Desktop Head Unit, che verrà rilasciata separatamente. Visita la pagina di test delle app per auto per Android per scoprire quando sarà disponibile la nuova versione.
  • Segui la guida allo sviluppo e il riferimento della libreria per ulteriori dettagli e linee guida di progettazione su come utilizzare queste funzionalità negli host per auto compatibili con il livello API 3.

Modifiche alle API

  • Metodi del ciclo di vita consolidati di SessionController e ScreenController in un unico metodo moveToState (I1ed00)
  • Aggiunto CarContext#getHostInfo() (I8977e)
  • Campi deprecati rimossi. (I67168)
  • Aggiornamento di SessionController e ScreenController per esporre direttamente i costruttori (Iabf22)
  • Rimossi PinSignInMethod.Builder e ProviderSignInMethod.Builder (I9f0cb)
  • È stato aggiunto "setCarAppResult()" per consentire l'utilizzo di app basate su modelli "per risultato" in AAOS (I37741)
  • Interfacce CarHardware annotate con @MainThread. (Ib2f85)
  • OnCarDataListener rinominato in OnCarDataAvailableListener (I518ca)
  • Aggiornamento dei nomi dei metodi e della documentazione Javadoc di CarInfo, Speed e Mileage. (I86672)
  • Toll rinominato in TollCard. (I3e7c8)
  • Rimozione di PinSignInMethod.getPin deprecato, sostituito da PinSignInMethod.getPinCode (I996ce)
  • OnInputCompletedListener rimosso (sostituito con InputCallback). (Ib5be1)
  • PinSignInMethod modificato per utilizzare CharSequence anziché String (I275d5)

Correzioni di bug

  • Correzioni Javadoc per l'hardware dell'auto. (I2abbc)

Contributo esterno

Problemi noti

  • Nel SignInTemplate, l'utilizzo di InputSignInMethod potrebbe causare un NullPointerException nell'host dell'auto. Questo problema verrà risolto nella prossima release della libreria. Per risolvere il problema, includi questa riga nella configurazione Proguard della tua app: -keep class androidx.car.app.model.signin.InputSignInMethod { *; }

Versione 1.1.0-alpha01

16 giugno 2021

androidx.car.app:app:1.1.0-alpha01, androidx.car.app:app-automotive:1.1.0-alpha01 e androidx.car.app:app-testing:1.1.0-alpha01 sono rilasciati. La versione 1.1.0-alpha01 contiene questi commit.

Nuove funzionalità

  • Livello API 2: nuovi SignInTemplate e LongMessageTemplate che possono essere utilizzati per i flussi di accesso quando il veicolo è parcheggiato.
  • Livello API 2: nuovo supporto dell'interattività della mappa all'interno di NavigationTemplate
  • Livello API 2: nuovo supporto di testo a più lunghezze per consentire alle app di fornire più versioni di stringhe da visualizzare a seconda delle dimensioni dello schermo dell'auto.
  • Segui la guida per sviluppatori e la documentazione Javadoc della libreria per ulteriori dettagli e linee guida di progettazione su come utilizzare queste funzionalità negli host in auto compatibili con il livello API 2.

Modifiche alle API

  • Resi predefiniti tutti i metodi di interfaccia *Callback e rinominato OnRequestPermissionsCallback -> OnRequestPermissionsListener (Ib3ec9)
  • Classi androidx.car.app.hardware aggiornate per rimuovere classi di parametri e builder non necessari. (I67beb)
  • Sono state aggiunte classi androidx.car.app.hardware per l'accesso a dati specifici dell'auto, come carburante, batteria e velocità. (Iff3c9)
  • Aggiunto il supporto di ActionStrip il giorno MessageTemplate (Ida657)
  • Aggiunta di setLoading a MessageTemplate. (I2a4b5)
  • ConnectionToCar rinominato in CarConnection (Ife9bd)
  • Modificato NavigationTemplate per restituire un PanModeDelegate esplicito (I13877)
  • Ordine dei parametri aggiornato per CarContext.requestPermissions (Ib890a)
  • Chiave dei metadati aggiornata per definire il livello API auto minimo su androidx.car.api.minCarApiLevel (Ib0d41)
  • È stata creata un'API che consente di osservare lo stato di connessione dell'auto (Ifc935)
  • Aggiunto il supporto per l'impostazione di un pulsante di attivazione/disattivazione per un Action e aggiunto il tipo di modalità di panoramica Action (Ica6af)
  • È stato creato CarNotificationManager per supportare l'invio di notifiche in auto (I10d7a)
  • Aggiunta di ConstraintManager per fornire limiti di elenchi dall'host (I8690e)
  • Aggiunta dell'API per la modalità di panoramica e la striscia di azioni della mappa in NavigationTemplate (I77aa6)
  • Aggiunta dell'API di panoramica e zoom in SurfaceCallback per le app di navigazione (Id5e9d)
  • CarAppApiLevel aggiornato alla versione 2 (Ic1540)
  • È stata aggiunta la possibilità di richiedere autorizzazioni da un CarAppService (I5421e)
  • Aggiunta dell'annotazione RequiresCarApi(2) all'API multi-text (Iacb62)
  • Consentite più varianti di testo nel titolo del modello di mezza lista (Ib8df7)
  • Aggiunta nuova LongMessageTemplate (richiede il livello API 2 per auto) (Ic5cee)

Correzioni di bug

  • Requisiti aggiornati per le dimensioni delle immagini per tenere conto degli schermi più grandi delle auto (I116dc)
  • È stato impedito di aggiungere più di due azioni nei corpi dei modelli (I32157)
  • È stato garantito che tutti i PendingIntent nella raccolta di app per l'auto impostino i flag. (If84fe, b/186394900)
  • Javadoc aggiornato per consentire le modifiche del testo di Row durante gli aggiornamenti (If3f9c)
  • androidx.activity:activity:1.2.0 ora è una dipendenza dell'API (Id1cb9)
  • Sono stati modificati SignInTemplate e LongMessageTemplate per richiedere azioni solo da auto parcheggiata nel corpo e la documentazione è stata aggiornata per indicare che verranno visualizzati solo quando l'auto è parcheggiata (Iddaa9)
  • È stata corretta un'eccezione che si verifica quando viene visualizzato un Screen all'avvio (Ifcf40, b/184664896)
  • Consentito il colore del testo personalizzato in ForegroundCarColorSpan (I69e59)
  • È stato corretto un problema per cui ON_DESTROY su un Session viene osservato dopo l'Screen di ON_DESTROY (I52e01, b/183696617)
  • Javadoc aggiornato su quando è consentito impostare il tempo rimanente di un TravelEstimate su un tempo sconosciuto. (I99610, b/183632456)
  • Action aggiornato per supportare ForegroundColorSpan nel titolo e qualsiasi colore di sfondo personalizzato (I578e4)
  • Non eseguire NavigationManagerCallback#onStopNavigation se il callback viene cancellato prima dell'esecuzione (I7fc5e, b/181143772)
  • Risolto un problema che richiedeva all'app di assumere esplicitamente una dipendenza da lifecycle-common-java8 (I8b8c8)

Problemi noti

  • In SignInTemplate, la tastiera sullo schermo mostra un'icona "Cerca" anziché un'icona "Invio" quando l'utente vuole confermare l'input. Come soluzione alternativa, gli utenti possono accedere alla tastiera dello smartphone che si attiva quando il campo di input è attivo.
  • Nella versione 6.5 di Android Auto, i callback di panoramica e zoom in SurfaceCallback potrebbero essere richiamati in modo errato per alcuni gesti tattili.

Car App Testing versione 1.0.0

Versione 1.0.0-alpha01

24 marzo 2021

androidx.car.app:app-testing:1.0.0-alpha01 viene ritirata. La versione 1.0.0-alpha01 contiene questi commit.

Si tratta della prima release Jetpack della libreria di test precedentemente chiusa. Consulta i nostri esempi su come utilizzare questa libreria nei tuoi test.

Nuove funzionalità

  • I controller per le classi del modello sono stati rimossi. I getter del modello ora fanno parte della superficie API pubblica, il che consente di convalidare i valori impostati nei builder.
  • Il precedente CarAppServiceController è stato sostituito dal nuovo SessionController per testare la logica relativa alla durata della connessione agli hot.

Versione 1.0.0

Versione 1.0.0

21 aprile 2021

androidx.car.app:app:1.0.0 viene ritirata. La versione 1.0.0 contiene questi commit.

Funzionalità principali della versione 1.0.0

  • All'inizio di aprile abbiamo annunciato che le app possono iniziare a pubblicare sul canale di produzione utilizzando androidx.car.app:app:1.0.0-rc01. La libreria di app per auto v1.0.0 è ora stabile e completamente compatibile con Android Auto 6.1 e versioni successive.
  • Segui la guida allo sviluppo per informazioni dettagliate su come creare app di navigazione, parcheggio e ricarica per Android Auto utilizzando la libreria.

Correzioni di bug

  • È stata corretta un'eccezione che si verifica quando viene visualizzato un Screen durante l'avvio (70aae1, b/184664896)
  • È stato risolto un problema per cui ON_DESTROY su un Session viene osservato dopo l'ON_DESTROY di Screen (0ceecb, b/183696617)

Versione 1.0.0-rc01

24 marzo 2021

androidx.car.app:app:1.0.0-rc01 viene ritirata. La versione 1.0.0-rc01 contiene questi commit.

Correzioni di bug

  • È stato corretto un bug di condizione di competizione per cui NavigationManagerCallback#onStopNavigation veniva chiamato dopo la cancellazione del callback. Ciò si è verificato se il callback è stato cancellato prima dell'esecuzione effettiva (I7fc5e, b/181143772)
  • È stato risolto un problema che richiedeva all'app di dipendere esplicitamente da lifecycle-common-java8 (I8b8c8)
  • È stato corretto un NullPointerException che veniva generato quando l'app riceve una chiamata stopNavigation dopo aver rimosso un callback (Ib8b89, b/181143772)
  • Miglioramenti per non inviare chiamate all'app se il suo ciclo di vita non è almeno nello stato CREATED (I86965, b/179800224, b/177921120)
  • È stato risolto un problema per cui un'API minima non valida specificata nel manifest dell'app generava un errore, causando un errore ANR sull'host. (Iffedd, b/174231592)

Versione 1.0.0-beta01

24 febbraio 2021

androidx.car.app:app:1.0.0-beta01 viene ritirata. La versione 1.0.0-beta01 contiene questi commit.

Questa è la prima release Jetpack della libreria precedentemente chiusa e compatibile con Android Auto 6.1 o versioni successive. Per informazioni dettagliate su come creare app per auto utilizzando la libreria, consulta la guida allo sviluppo.

Nuove funzionalità

Correzioni di bug

  • Risolto un problema per cui viene ripreso il Screen errato quando le schermate vengono visualizzate in sequenza. (b/177590791)