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
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 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
OnItemVisibilityChangeListener
aggiunto alla sezione. (I2c2fd) - Aggiunta di
Mileage#getOdometerKilometers
e 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#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 frameworkNotification.Builder
anziché soloNotificationCompat.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 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
SectionedItemTemplate
all'elenco dei modelli supportati all'interno diTabTemplate
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
eMapTemplate
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
aMediaPlaybackTemplate.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 metodoonDestroy
diBaseCarAppActivity
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 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
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 daMapWithContentTemplate
(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
inListTemplate
, ritiro diheaderAction
,headerTitle
,actionStrip
(I7ae01) - Depreca
title
,headerAction
,actionStrip
inGridTemplate
e 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
, metodiGridItem
per ottenere/impostare il badge. (Id71eb) - Depreca
title
,headerAction
,actionStrip
inPaneTemplate
, aggiungi il nuovo supportoHeader
(I23154) - Telemetria di Media Center modificata da
BroadcastReceiver
a Sfoglia azione personalizzata. (I4185f) - È stato aggiunto il supporto dell'attributo
Header
inMessageTemplate
. Supporto deprecato perActionStrip
,headerAction
etitle
. (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 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
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 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=34
al filesettings.gradle
del 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
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
comeset/get ContentTemplate
(Ica036) - Il parametro del modello ora sarà
@NonNull
. Documentazione dell'APIMapWithContentTemplate
aggiornata (I0f8ed) - Rimuove il tag
@ExperimentalCarApi
per le azioni inListTemplate
per il lancio in CAL 1.4 (I2cfcb) - Rimuove il tag
@ExperimentalCarApi
perTabTemplate
(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
aGridTemplate
(Ibf431) - Aggiungi la proprietà
ItemSize
aGridTemplate
, 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 metodisetImage()
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
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()
ehashCode()
perConversationItem
eCarMessage
(I6fd10) - Migliora la convalida di
ConversationItem.mMessages
(richiedi non null, non vuoto (Iafc51) - Aggiungi annotazioni
@Keep
ai 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
,RoutePreviewNavigationTemplate
eMapTemplate
. Per farlo, aggiorna le informazioni di navigazione tramiteNavigationManager.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()
aActionsConstraints
. Dove è consentitoAction
impostareOnClickDelegate()
per le azioni, ad eccezione dei tipi di icone standard. (TYPE_APP_ICON
,TYPE_BACK
eTYPE_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
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 suNavigationTemplate
(I163a7, I5ad70) - Livello API 5: nuovi componenti
Header
eMapController
per facilitare il riutilizzo nei modelli (If5826) - Aggiunta di
androidx.car.app.category.POI
come categoria per l'attivazione delle app PDI (e ritiro diandroidx.car.app.category.PARKING
eandroidx.car.app.category.CHARGING
) (I59da1)
Modifiche alle API
- Livello API 5: nuovo metodo
onClick
nell'interfacciaSurfaceCallback
per consentire l'interattività con tocco sulla mappa (Ia9777) - Livello API 5: nuovi flag
Action.FLAG_IS_PERSISTENT
eAction.FLAG_DEFAULT
per descrivere leAction
(I96318, I5ad70) - Livello API 5: nuovo stato attivato/disattivato per i componenti
Action
,Row
eToggle
(supporto dell'host in arrivo con la release 1.3.0-beta01 della libreria) (Id8a09) - Livello API 5: preferisci il nuovo componente
Header
tramitesetHeader
suPlaceListNavigationTemplate.Builder
eRoutePreviewNavigationTemplate.Builder
, ritirando i metodisetTitle
esetHeaderAction
esistenti (I30e6a) - Livello API 5: nuovo metodo
setOnContentRefreshListner
suPlaceListMapTemplate.Builder
ePlaceListNavigationTemplate.Builder
da utilizzare con le implementazioni della nuova interfacciaOnContentRefreshListner
. - Livello API 5: nuovi
setTripText
esetTripIcon
suTravelEstimate.Builder
per personalizzare la scheda di stima del viaggio (Idcc6d, Ic620d) - Aggiunta del supporto per
CarIconSpan
nel titolo diPaneTemplate
(Ia1ee0) - Aggiunta del supporto per i
CarIconSpan
nei titoli e nel testo di unRow
(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
eSignInTemplate
(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 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
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
inPlaceListNavigationTemplate
eRoutePreviewNavigateTemplate
inizieranno a essere disponibili nelle prossime releaseAndroid Auto
eAndroid 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
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
inPane
(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
eRoutePreviewNavigationTemplate
(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
eLongMessageTemplate
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:
CarHardwareManager
che 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 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
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 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
CarHardwareManager
che 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
SessionController
eScreenController
in un unico metodomoveToState
(I1ed00) - Aggiunto
CarContext#getHostInfo()
(I8977e) - Campi deprecati rimossi. (I67168)
- Aggiornamento di
SessionController
eScreenController
per esporre direttamente i costruttori (Iabf22) - Rimossi
PinSignInMethod.Builder
eProviderSignInMethod.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 inOnCarDataAvailableListener
(I518ca)- Aggiornamento dei nomi dei metodi e della documentazione Javadoc di
CarInfo
,Speed
eMileage
. (I86672) Toll
rinominato inTollCard
. (I3e7c8)- Rimozione di
PinSignInMethod.getPin
deprecato, sostituito daPinSignInMethod.getPinCode
(I996ce) OnInputCompletedListener
rimosso (sostituito conInputCallback
). (Ib5be1)PinSignInMethod
modificato per utilizzareCharSequence
anzichéString
(I275d5)
Correzioni di bug
- Correzioni Javadoc per l'hardware dell'auto. (I2abbc)
Contributo esterno
Problemi noti
- Nel
SignInTemplate
, l'utilizzo diInputSignInMethod
potrebbe causare unNullPointerException
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
eLongMessageTemplate
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 rinominatoOnRequestPermissionsCallback
->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 giornoMessageTemplate
(Ida657) - Aggiunta di
setLoading
aMessageTemplate
. (I2a4b5) ConnectionToCar
rinominato inCarConnection
(Ife9bd)- Modificato
NavigationTemplate
per restituire unPanModeDelegate
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 panoramicaAction
(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
eLongMessageTemplate
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 unSession
viene osservato dopo l'Screen
diON_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 supportareForegroundColorSpan
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 nuovoSessionController
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 unSession
viene osservato dopo l'ON_DESTROY
diScreen
(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 chiamatastopNavigation
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à
- È stato introdotto un
GridTemplate
che la tua app può utilizzare per mostrare un elenco di elementi dell'interfaccia utente in un layout a griglia. - È stato introdotto un metodo
CarAppService.createHostValidator
per 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
Screen
errato quando le schermate vengono visualizzate in sequenza. (b/177590791)