App per auto
| 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.
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 SectionedItemTemplatetra gli aggiornamenti. (Ia4c51)
- Azione MEDIA_PLAYBACKaggiornata 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 aCarAppExtender. (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 OnItemVisibilityChangeListeneraggiunto alla sezione. (I2c2fd)
- Aggiunta di Mileage#getOdometerKilometerse ritiro diMileage#getOdometerMeters(Ic91af)
Correzioni di bug
- Correzione di un errore di battitura nel Javadoc di CarIcon.setTint(Iabd72)
- È stata aggiornata la documentazione di Row.Builder#setNumericDecorationper 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 CarAppExtenderpuò essere utilizzato per estendere il frameworkNotification.Builderanziché soloNotificationCompat.Builder. (Id3ad7)
- Aggiungi KEY_EXCLUDE_MEDIA_ITEM_FROM_MIXED_APP_LISTextra. (I201f9)
- Ritira il costruttore Builder vuoto su ConversationIteme 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 PlaceListutilizzi 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_VERSIONextra (I8796b)
- Sostituisci la classe TabContents.Api8Buildercon il costruttore@ExperimentalCarApinella classeTabContents.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 SectionedItemTemplateall'elenco dei modelli supportati all'interno diTabTemplatenell'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,- PlaceListNavigatione- MapTemplatesono ora deprecati. I modelli continueranno a funzionare così come sono.
- Le app di esempio sono state aggiornate per mostrare l'utilizzo di MapWithContentanziché 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 @ExperimentalCarApiaMediaPlaybackTemplate.Builder. (Ic1957)
- Aggiunge un nuovo SectionedItemTemplatein sperimentale. (I5958a)
- Presenta CarAppApiLevel 8(I3fa22)
- Aggiunge MediaPlaybackTemplateper 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 instancesnel metodoonDestroydiBaseCarAppActivitycon 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,PlaceListNavigationTemplatee incoraggiare l'utilizzo del nuovoMapWithContentTemplate(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 MapWithContentche supporta Elenco / Griglia / Riquadro / Messaggio come contenuti all'interno di una mappa.- RoutePreview,- PlaceListNavigatione 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 ExperimentalAPIrimosso daMapWithContentTemplate(I66db8)
- Aggiorna il parametro GridItem#setTitlein modo che possa accettare valori nulli. (I3d610)
- L'API GetHeadernon richiede l'API 7 perché è compatibile con le versioni precedenti (I8c812)
- Aggiunta del supporto per HeaderinListTemplate, ritiro diheaderAction,headerTitle,actionStrip(I7ae01)
- Depreca title,headerAction,actionStripinGridTemplatee aggiungi il supporto perHeader(I41a9c)
- Rimozione del requisito di livello 7 per le API sperimentali: badge, metodi getter/setter per dimensioni e forma delle immagini dell'elemento GridTemplate, metodiGridItemper ottenere/impostare il badge. (Id71eb)
- Depreca title,headerAction,actionStripinPaneTemplate, aggiungi il nuovo supportoHeader(I23154)
- Telemetria di Media Center modificata da BroadcastReceivera Sfoglia azione personalizzata. (I4185f)
- È stato aggiunto il supporto dell'attributo HeaderinMessageTemplate. Supporto deprecato perActionStrip,headerActionetitle. (Ie2de8)
- Modifica la visibilità costante dell'avviso (Icf8a8)
- Rimuovi l'attributo isLoadingdal 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 ConversationItemper indicare che i messaggi devono essere ordinati dal più vecchio al più recente. (I77a2a)
- Aggiorna la logica di troncamento di ListTemplateper rimuovere i messaggi meno recenti daConversationItem(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 ConversationItemper indicare che i messaggi devono essere ordinati dal meno recente al più recente (I77a2a)
- Aggiorna la logica di troncamento di ListTemplateper rimuovere i messaggi meno recenti daConversationItem(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=34al filesettings.gradledel tuo progetto per eliminare temporaneamente l'avviso in modo sicuro.
Nuove funzionalità
- Rendering della mappa del 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
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 ConversationItemnella 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, ActionsConstraintsAPI, per supportare il pulsante di composizione. (I31661)
- Realizzato set/getTemplatecomeset/get ContentTemplate(Ica036)
- Il parametro del modello ora sarà @NonNull. Documentazione dell'APIMapWithContentTemplateaggiornata (I0f8ed)
- Rimuove il tag @ExperimentalCarApiper le azioni inListTemplateper il lancio in CAL 1.4 (I2cfcb)
- Rimuove il tag @ExperimentalCarApiperTabTemplate(Ifcb82)
- Rimuovere le annotazioni @ExperimentalCarApidalle azioni secondarie e dalle decorazioni delle righe (I8487e)
- Aggiunge l'ID dei contenuti della scheda attiva a TabTemplatee ritira lo stato attivo nelle schede (I96932)
- Aggiungi la proprietà ItemImageShapeaGridTemplate(Ibf431)
- Aggiungi la proprietà ItemSizeaGridTemplate, 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'immagineGridItem. (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 GridTemplatenella libreria di app per auto (Id0191)
- Aggiunge azioni di primo livello a ListTemplatenella 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()ehashCode()perConversationItemeCarMessage(I6fd10)
- Migliora la convalida di ConversationItem.mMessages(richiedi non null, non vuoto (Iafc51)
- Aggiungi annotazioni @Keepai campiConversationItem(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.
- Le app per auto create utilizzando questa libreria ora possono accedere al Play Store utilizzando il livello API 5 (consulta la nostra guida allo sviluppo). Le funzionalità annotate con il livello API 5 e versioni precedenti sono compatibili sia con Android Auto 8.1 e versioni successive sia con Google Automotive App Host 1.4 e versioni successive.
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,RoutePreviewNavigationTemplateeMapTemplate. Per farlo, aggiorna le informazioni di navigazione tramiteNavigationManager.updateTrip().
- Attiva il pulsante di azione con FLAG_DEFAULTper visualizzare un'animazione di timeout. Questo pulsante verrà selezionato per impostazione predefinita dopo il timeout. ([API 5 - All Templates])
- Il sottotitolo di un Rownon 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 MapTemplateper 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()aActionsConstraints. Dove è consentitoActionimpostareOnClickDelegate()per le azioni, ad eccezione dei tipi di icone standard. (TYPE_APP_ICON,TYPE_BACKeTYPE_PAN) (I3c745)
Correzioni di bug
- È stata aggiunta la compatibilità di Android Automotive Template Host 1.4+ con i display curvi ([Host change])
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 MapTemplateche 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 CarAudioRecordper consentire la registrazione dell'input audio tramite il microfono del veicolo host (I5e71a)
- Livello API 5: nuova API SuggestionManagerper consentire alle app di fornire suggerimenti all'host (I5c103)
- Livello API 5: nuova API Alertper visualizzare le notifiche contestuali suNavigationTemplate(I163a7, I5ad70)
- Livello API 5: nuovi componenti HeadereMapControllerper facilitare il riutilizzo nei modelli (If5826)
- Aggiunta di androidx.car.app.category.POIcome categoria per l'attivazione delle app PDI (e ritiro diandroidx.car.app.category.PARKINGeandroidx.car.app.category.CHARGING) (I59da1)
Modifiche alle API
- Livello API 5: nuovo metodo onClicknell'interfacciaSurfaceCallbackper consentire l'interattività con tocco sulla mappa (Ia9777)
- Livello API 5: nuovi flag Action.FLAG_IS_PERSISTENTeAction.FLAG_DEFAULTper descrivere leAction(I96318, I5ad70)
- Livello API 5: nuovo stato attivato/disattivato per i componenti Action,RoweToggle(supporto dell'host in arrivo con la release 1.3.0-beta01 della libreria) (Id8a09)
- Livello API 5: preferisci il nuovo componente HeadertramitesetHeadersuPlaceListNavigationTemplate.BuildereRoutePreviewNavigationTemplate.Builder, ritirando i metodisetTitleesetHeaderActionesistenti (I30e6a)
- Livello API 5: nuovo metodo setOnContentRefreshListnersuPlaceListMapTemplate.BuilderePlaceListNavigationTemplate.Builderda utilizzare con le implementazioni della nuova interfacciaOnContentRefreshListner.
- Livello API 5: nuovi setTripTextesetTripIconsuTravelEstimate.Builderper personalizzare la scheda di stima del viaggio (Idcc6d, Ic620d)
- Aggiunta del supporto per CarIconSpannel titolo diPaneTemplate(Ia1ee0)
- Aggiunta del supporto per i CarIconSpannei titoli e nel testo di unRow(Ic1e3c)
- Le mappe ActionStripora 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,PaneTemplateeSignInTemplate(I2078d, Icadde)
Correzioni di bug
- Aggiornamento delle regole di dimensionamento delle immagini PaneTemplatein 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_UNKNOWNanzichéSTATUS_UNAVAILABLEper impostazione predefinita (Ic9444)
- Verifica che la visualizzazione esista prima di creare la superficie (Ice027a)
- Correggi il bug CarValue.equals()che riguardaSTATUS_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 CarSensorsaggiornate per indicare che non sono implementate per AAOS (Idd57b)
- Aggiornamento di PlaceListMapTempalte.Builder#setCurrentLocationEnabledper 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 setOnContentRefreshListenerai modelli di PDI (I6bf22)
Correzioni di bug
- È stata corretta una perdita di memoria in CarAppServicequando l'host dell'auto viene scollegato. (I5c9ca, b/203594731)
- Javadoc di CarAppActivityaggiornato per includere i requisiti per la modalità di avvio singleTask (Id2f95)
- Riduce il problema visivo alla ripresa. (Iff7e0)
Problemi noti
- Le mappe ActionStripinPlaceListNavigationTemplateeRoutePreviewNavigateTemplateinizieranno a essere disponibili nelle prossime releaseAndroid AutoeAndroid 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 aCarUnit(I36a3b)
Correzioni di bug
- Risolto un arresto anomalo che si verificava in CarAppPermissionActivityse il callback non è attivo (If9823)
- È stato modificato il limite predefinito dell'elenco Panea 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 CarIconinPane(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 PlaceListNavigationTemplateeRoutePreviewNavigationTemplate(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: SignInTemplateeLongMessageTemplateche 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 Managercome 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 ScreenControllerche accetta esplicitamenteTestCarContext(Iefebc)
Correzioni di bug
- Aggiunta del controllo del livello API durante la creazione di CarHardwareManager(I48f9b)
- Aggiunti controlli per l'utilizzo non valido di CarSpannell'API (I65ae6)
- È stato risolto un problema per cui se un Screenviene contrassegnato come completato durante la creazione, lo stack rimane in uno stato danneggiato (I81b13).
- Risolvi un problema per cui CarNotificationManager.notifyregistrava un errore per AutomotiveOS se erano presenti azioni con icone inCarAppExtender(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 diDesktop 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 SessionControllereScreenControllerin un unico metodomoveToState(I1ed00)
- Aggiunto CarContext#getHostInfo()(I8977e)
- Campi deprecati rimossi. (I67168)
- Aggiornamento di SessionControllereScreenControllerper esporre direttamente i costruttori (Iabf22)
- Rimossi PinSignInMethod.BuildereProviderSignInMethod.Builder(I9f0cb)
- È stato aggiunto "setCarAppResult()" per consentire l'utilizzo di app basate su modelli "per risultato" in AAOS (I37741)
- Interfacce CarHardwareannotate con@MainThread. (Ib2f85)
- OnCarDataListenerrinominato in- OnCarDataAvailableListener(I518ca)
- Aggiornamento dei nomi dei metodi e della documentazione Javadoc di CarInfo,SpeedeMileage. (I86672)
- Tollrinominato in- TollCard. (I3e7c8)
- Rimozione di PinSignInMethod.getPindeprecato, sostituito daPinSignInMethod.getPinCode(I996ce)
- OnInputCompletedListenerrimosso (sostituito con- InputCallback). (Ib5be1)
- PinSignInMethodmodificato per utilizzare- CharSequenceanziché- String(I275d5)
Correzioni di bug
- Correzioni Javadoc per l'hardware dell'auto. (I2abbc)
Contributo esterno
Problemi noti
- Nel SignInTemplate, l'utilizzo diInputSignInMethodpotrebbe causare unNullPointerExceptionnell'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 SignInTemplateeLongMessageTemplateche 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 *Callbacke rinominatoOnRequestPermissionsCallback->OnRequestPermissionsListener(Ib3ec9)
- Classi androidx.car.app.hardwareaggiornate per rimuovere classi di parametri e builder non necessari. (I67beb)
- Sono state aggiunte classi androidx.car.app.hardwareper l'accesso a dati specifici dell'auto, come carburante, batteria e velocità. (Iff3c9)
- Aggiunto il supporto di ActionStripil giornoMessageTemplate(Ida657)
- Aggiunta di setLoadingaMessageTemplate. (I2a4b5)
- ConnectionToCarrinominato in- CarConnection(Ife9bd)
- Modificato NavigationTemplateper restituire unPanModeDelegateesplicito (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 Actione aggiunto il tipo di modalità di panoramicaAction(Ica6af)
- È stato creato CarNotificationManagerper supportare l'invio di notifiche in auto (I10d7a)
- Aggiunta di ConstraintManagerper 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 SurfaceCallbackper le app di navigazione (Id5e9d)
- CarAppApiLevelaggiornato 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 PendingIntentnella raccolta di app per l'auto impostino i flag. (If84fe, b/186394900)
- Javadoc aggiornato per consentire le modifiche del testo di Rowdurante gli aggiornamenti (If3f9c)
- androidx.activity:activity:1.2.0ora è una dipendenza dell'API (Id1cb9)
- Sono stati modificati SignInTemplateeLongMessageTemplateper 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 Screenall'avvio (Ifcf40, b/184664896)
- Consentito il colore del testo personalizzato in ForegroundCarColorSpan(I69e59)
- È stato corretto un problema per cui ON_DESTROYsu unSessionviene osservato dopo l'ScreendiON_DESTROY(I52e01, b/183696617)
- Javadoc aggiornato su quando è consentito impostare il tempo rimanente di un TravelEstimatesu un tempo sconosciuto. (I99610, b/183632456)
- Actionaggiornato per supportare- ForegroundColorSpannel titolo e qualsiasi colore di sfondo personalizzato (I578e4)
- Non eseguire NavigationManagerCallback#onStopNavigationse 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 SurfaceCallbackpotrebbero 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 nuovoSessionControllerper 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 Screendurante l'avvio (70aae1, b/184664896)
- È stato risolto un problema per cui ON_DESTROYsu unSessionviene osservato dopo l'ON_DESTROYdiScreen(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#onStopNavigationveniva 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 NullPointerExceptionche veniva generato quando l'app riceve una chiamatastopNavigationdopo 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à
- È stato introdotto un GridTemplateche la tua app può utilizzare per mostrare un elenco di elementi dell'interfaccia utente in un layout a griglia.
- È stato introdotto un metodo CarAppService.createHostValidatorper verificare che una connessione host provenga da una fonte attendibile (ad esempio Android Auto).
- È stata aggiunta un'API CarAppExtender.Builder.setColor. (b/174231592)
Correzioni di bug
- Risolto un problema per cui viene ripreso il Screenerrato quando le schermate vengono visualizzate in sequenza. (b/177590791)
