App per auto
Ultimo aggiornamento | Release stabile | Candidato per la release | Versione beta | Versione alpha |
---|---|---|---|---|
13 novembre 2024 | 1.4.0 | - | 1.7.0-beta03 | - |
Dichiarazione delle dipendenze
Per aggiungere una dipendenza alla libreria di app per auto, devi aggiungere il repository Maven di Google al tuo progetto. Per ulteriori informazioni, consulta il repository Maven di Google.
Aggiungi le dipendenze per gli elementi necessari nel file build.gradle
per la tua app o il tuo modulo:
Alla moda
dependencies { implementation "androidx.car.app:app:1.4.0" // For Android Auto specific functionality implementation "androidx.car.app:app-projected:1.4.0" // For Android Automotive specific functionality implementation "androidx.car.app:app-automotive:1.4.0" // For testing testImplementation "androidx.car.app:app-testing:1.4.0" }
Kotlin
dependencies { implementation("androidx.car.app:app:1.4.0") // For Android Auto specific functionality implementation("androidx.car.app:app-projected:1.4.0") // For Android Automotive specific functionality implementation("androidx.car.app:app-automotive:1.4.0") // For testing testImplementation("androidx.car.app:app-testing:1.4.0") }
Per ulteriori informazioni sulle dipendenze, consulta Aggiungere dipendenze di compilazione.
Feedback
Il tuo feedback ci aiuta a migliorare Jetpack. Facci sapere se riscontri nuovi problemi o hai idee per migliorare questa raccolta. Prima di crearne uno nuovo, dai un'occhiata ai problemi esistenti in questa raccolta. Puoi aggiungere il tuo voto a un problema esistente facendo clic sul pulsante a forma di stella.
Per ulteriori informazioni, consulta la documentazione del Monitoraggio problemi.
Versione 1.7
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 rilasciato. La versione 1.7.0-beta03 contiene questi commit.
Modifiche all'API
- Aggiorna il codice di serializzazione / deserializzazione CAL in modo da gestire 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 in
ConversationItem
e sostituiscilo con un costruttore che accetti i parametri richiesti. Aggiunge anche un controllo per proteggersi dai messaggi null. (Ic8221)
Correzioni di bug
- Assicurati che la mappa
PlaceList
utilizzi la stringa (solo testo) Titolo intestazione. (Ic992f) - Questa libreria ora utilizza le annotazioni di nullità JSpecify, che sono di tipo di utilizzo. Gli sviluppatori Kotlin devono utilizzare i seguenti argomenti del compilatore per applicare l'utilizzo corretto:
-Xjspecify-annotations=strict, -Xtype-enhancement-improvements-strict-mode
. (Ib5367, b/326456246)
Versione 1.7.0-beta02
18 settembre 2024
androidx.car.app:app-*:1.7.0-beta02
viene rilasciato. La versione 1.7.0-beta02 contiene questi commit.
Modifiche all'API
- Aggiungere
KEY_ROOT_HINT_MEDIA_HOST_VERSION
extra (I8796b) - Sostituisci la classe
TabContents.Api8Builder
con il costruttore@ExperimentalCarApi
nella classeTabContents.Builder
(I26fbe) - Aggiungi l'azione intent e gli extra per
CarMediaApp
(I50782) - Contrassegnare le API di messaggistica come non sperimentali (I0b070)
- Aggiungere il caricamento di elementi remoti a
SectionedItemTemplate
(consente di caricare elenchi lunghi senza arresti anomali) (I0d122) - Aggiungi
SectionedItemTemplate
all'elenco dei modelli supportati all'interno diTabTemplate
nell'API 8. (Idc5d6)
Correzioni di bug
- È stato rimosso il riepilogo manuale dell'accesso alle nuove API di piattaforma, poiché questo avviene automaticamente tramite la definizione del modello 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 clienti 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 rilasciato. La versione 1.7.0-beta01 contiene questi commit. Le funzionalità sono le stesse pubblicate in alpha01, che sono ripetute di seguito:
Nuove funzionalità
- Mappa con contenuti:nuovo modello di canvas della mappa più un modello di contenuti, che per il momento può essere Elenco / Griglia / Riquadro / Messaggio.
RoutePreview
,PlaceListNavigation
,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 di conversazione:nuove API per la visualizzazione delle conversazioni (IM, SMS) e la lettura dell'assistente in auto.
- Dimensioni del veicolo:nuova API per recuperare le misure del veicolo (al momento i dati sono disponibili su AAOS).
Modifiche all'API
- Aggiungi il tag
@ExperimentalCarApi
aMediaPlaybackTemplate.Builder
. (Ic1957) - Aggiunge un nuovo
SectionedItemTemplate
in modalità sperimentale. (I5958a) - Presenta
CarAppApiLevel 8
(I3fa22) - Aggiunge
MediaPlaybackTemplate
per la visualizzazione dei contenuti durante la riproduzione dei contenuti multimediali nella raccolta 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
- Risolve 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 se null per evitare arresti anomali. (IEC676)
Versione 1.7.0-alpha02
17 aprile 2024
androidx.car.app:app-*:1.7.0-alpha02
viene rilasciato. La versione 1.7.0-alpha02 contiene questi commit.
Nuove funzionalità
- Sono stati aggiunti flag obsoleti per i modelli basati su mappe che verranno supportati in futuro dal modello
MapWithContent
.
Modifiche all'API
- Rifiutare i vecchi
MapTemplate
,RoutePreviewNavigationTemplate
,PlaceListNavigationTemplate
e incoraggiare l'uso del nuovoMapWithContentTemplate
(Ib0a08)
Versione 1.7.0-alpha01
3 aprile 2024
androidx.car.app:app-*:1.7.0-alpha01
viene rilasciato. Abbiamo modificato il nostro schema di versionamento della libreria in modo che corrisponda alla versione attiva di CarApi. Questo serve a 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 contenuto all'interno di una mappa.RoutePreview
,PlaceListNavigation
, i modelli di mappe sono stati ritirati.- Le app di esempio sono state aggiornate per mostrare la funzionalità dei modelli obsoleti utilizzando
MapWithContent
.
- Elemento conversazione: nuove API per la visualizzazione delle conversazioni (IM, SMS) e la lettura dell'assistente in auto.
- Dimensioni veicolo: nuova API per recuperare le misure del veicolo (al momento i dati sono disponibili su AAOS).
Modifiche all'API
- Contrassegnare il tipo di immagine di riga extra piccola come sperimentale (I5184b)
- È stata aggiunta l'API
CarInfo#fetchExteriorDimensions
che consente di accedere 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 sia nullable. (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) - Ritirare
title
,headerAction
,actionStrip
inGridTemplate
e aggiungere il supporto perHeader
(I41a9c) - Rimuovi il requisito di livello 7 per le API sperimentali: Badge,
GridTemplate
getter/setter delle dimensioni degli articoli e della forma dell'immagine,GridItem
metodi per ottenere/impostare Badge. (Id71eb) - Ritirare il supporto di
title
,headerAction
eactionStrip
inPaneTemplate
, aggiungere il supporto diHeader
(I23154) - La telemetria di Media Center è passata da
BroadcastReceiver
ad Azione personalizzata di navigazione. (I4185f) - È stato aggiunto il supporto dell'attributo
Header
inMessageTemplate
. Supporto ritirato perActionStrip
,headerAction
etitle
. (Ie2de8) - Modificare la visibilità della costante di avviso (Icf8a8)
- Rimuovi l'attributo
isLoading
dal modello principale (I651e6) - Aggiungere elementi extra per informare le app multimediali dei parametri principali dell'interfaccia utente (I85ca2)
- Aggiungere la funzionalità di analisi del media center a
MediaExtensions
(I7ce28) - È stata aggiunta un'opzione per le immagini extra piccole nelle righe. (I72c03)
Correzioni di bug
- Aggiorna la documentazione Javadoc su
ConversationItem
per indicare che i messaggi devono essere ordinati dal più vecchio al più recente. (I77a2a) - Aggiornamento della logica di troncamento di
ListTemplate
per rimuovere i messaggi più vecchi daConversationItem
(Ie0a61)
Versione 1.4
Versione 1.4.0
29 maggio 2024
androidx.car.app:app-*:1.4.0
viene rilasciato. La versione 1.4.0 è una promozione della versione 1.4.0-rc02.
Modifiche importanti dalla versione 1.3.0
- Visualizzazione della mappa sul quadro strumenti per le app di navigazione
- Modello di nuova scheda per un layout / un'usabilità dell'app migliorati
- Supporto per i limiti di attività adattivi
- Azioni secondarie sugli elementi dell'elenco
Versione 1.4.0-rc02
13 dicembre 2023
androidx.car.app:app-*:1.4.0-rc02
viene rilasciato. La versione 1.4.0-rc02 contiene questi commit. Solo correzioni minori
Correzioni di bug
- Aggiornare la documentazione Javadoc su
ConversationItem
per indicare che i messaggi devono essere ordinati dal più antico al più recente (I77a2a) - Aggiornamento della logica di troncamento di
ListTemplate
per rimuovere i messaggi più vecchi 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 rilasciato. La versione 1.4.0-beta02 contiene questi commit. È quasi identico a beta01, ma riduce 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 rilasciato. La versione 1.4.0-beta01 contiene questi commit.
Nota:1.4-beta01 richiede compileSdk34, che è ancora in stato di sviluppo. Questo problema verrà corretto nella versione 1.4-beta02. In alternativa, puoi aggiungere
android.suppressUnsupportedCompileSdk=34
al filesettings.gradle
del progetto per sopprimere temporaneamente l'avviso in tutta sicurezza.
Nuove funzionalità
- Rendering della mappa del quadro strumenti per le app di navigazione
- Nuovo modello di scheda per un layout / un'usabilità dell'app migliorati
- Supporto per i limiti di attività adattivi
- Azioni secondarie sugli elementi dell'elenco
Modifiche all'API
- Vedi alpha02
Versione 1.4.0-alpha02
26 luglio 2023
androidx.car.app:app-*:1.4.0-alpha02
viene rilasciato. La versione 1.4.0-alpha02 contiene questi commit.
- La release di Alpha02 è pensata come preparazione per una release imminente di beta01.
Nuove funzionalità
- Supporto del rendering delle mappe sul quadro strumenti per le app di navigazione
- Sono state aggiunte schede per le app per migliorare l'esperienza di layout
- Sono state aggiunte opzioni di rendering dei modelli di elenco / griglia
- Sono state aggiunte nuove categorie per meteo e comunicazioni
- Spostare diverse API alla prossima release di CarApi 7
Modifiche all'API
- Aggiungere campi multimediali a
CarMessage
(I5aaf6) - Aggiunge azioni personalizzate a
ConversationItem
nella raccolta di app per auto (Ie5ed6) - Aggiungi elementi extra per indicare che un elemento multimediale viene riprodotto con un formato audio immersivo e mostra il logo del formato dei contenuti (Icb5bb)
- Aggiungi un nuovo tipo di azione, l'API
ActionsConstraints
per supportare il pulsante Scrivi. (I31661) - Creato
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 della riga (I8487e) - Aggiunge l'ID dei contenuti della scheda attiva a
TabTemplate
e ritira lo stato attivo nelle schede (I96932) - Aggiungere la proprietà
ItemImageShape
aGridTemplate
(Ibf431) - Aggiungi la proprietà
ItemSize
aGridTemplate
, che controlla le dimensioni degli elementi della griglia in base ai bucket relativi piccoli, medi e grandi. (Icdb3b) - Apri l'accesso all'API per consentire agli sviluppatori di ottenere una copia dell'attuale serie di schermate. (I48107)
- Aggiunta della 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()
sovraccaricati (Id2000)- Aggiungere la proprietà icona a Badge (I629b2)
- Aggiungere un metodo per impostare il colore di sfondo del badge a puntini (I6411c)
- Aggiungi la proprietà Badge a
GridItem
per visualizzare 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 rilasciato. La versione 1.4.0-alpha01 contiene questi commit.
Modifiche all'API
- Aggiunge azioni di primo livello a
GridTemplate
nella raccolta di app per auto (Id0191) - Aggiunge azioni di primo livello a
ListTemplate
nella raccolta di app per auto (I9efab) - Aggiungere extra per collegare i sottotitoli codificati o la descrizione di un elemento multimediale ad altri elementi multimediali (Ic84bf)
- Aggiorna il livello API per le azioni di riga al livello 6. (Ie0a69)
- Aggiungere i callback di messaggistica ad A4C (Ie3986)
Correzioni di bug
- Aggiungi i riferimenti mancanti della documentazione Java per
CarMessage
. (I5db1c) - Sostituisci
equals()
ehashCode()
conConversationItem
eCarMessage
(I6fd10) - Migliora la convalida di
ConversationItem.mMessages
(richiedi non nullo, non vuoto (Iafc51) - Aggiungere 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 rilasciato. La versione 1.3.0-rc01 contiene questi commit.
- Correzioni di bug minori dalla versione beta01. Nessuna modifica significativa.
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
vengono rilasciati. La versione 1.3.0-beta01 contiene questi commit.
- Le app per auto create utilizzando questa libreria ora possono essere pubblicate sul 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 in Car App Library 1.3.0-alpha01, le seguenti funzionalità sono state aggiunte nella versione beta01 (tutte le funzionalità riportate di seguito riguardano solo le 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, puoi aggiornare le informazioni di navigazione tramiteNavigationManager.updateTrip()
. - Attiva il pulsante di azione con
FLAG_DEFAULT
per avere un'animazione di timeout. Per impostazione predefinita, verrà fatto clic su questo pulsante dopo il timeout. ([API 5 - All Templates]
) - Il testo secondario di un
Row
non viene troncato quando l'auto è parcheggiata, ma a 2 righe durante la guida. ([API 5 - All Templates]
) - Supporto dello stato disattivato per
Action
,Toggle
,Row
([API 5 - All Templates]
)
Modifiche all'API
- Allentare le limitazioni nell'elenco
MapTemplate
per supportare gli elenchi selezionabili (I961ed) - Rimuovi il vincolo per le azioni intestazione per consentire l'uso di icone personalizzate. (Iad28f)
- Aggiungi un vincolo
setOnClickListenerAllowed()
aActionsConstraints
. Dove consentiva aAction
di impostareOnClickDelegate()
su azioni diverse dai 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 e versioni successive 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
vengono 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 i contenuti di riquadri o elenchi accanto 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
da visualizzare nelle notifiche contestuali suNavigationTemplate
(I163a7, I5ad70) - Livello API 5: nuovi componenti
Header
eMapController
per facilitare il riutilizzo nei vari modelli (If5826) - È stata aggiunta
androidx.car.app.category.POI
come categoria per abilitare le app PDI (e sono state ritirateandroidx.car.app.category.PARKING
eandroidx.car.app.category.CHARGING
) (I59da1)
Modifiche all'API
- Livello API 5: nuovo metodo
onClick
nell'interfacciaSurfaceCallback
per consentire l'interattività con i tocchi sulla mappa (Ia9777) - Livello API 5: nuovi flag
Action.FLAG_IS_PERSISTENT
eAction.FLAG_DEFAULT
per descrivere iAction
(I96318, I5ad70) - Livello API 5: nuovo stato abilitato/disabilitato per i componenti
Action
,Row
eToggle
(il supporto dell'host sarà disponibile con la release 1.3.0-beta01 della libreria) (Id8a09) - Livello API 5: prediligi il nuovo componente
Header
tramitesetHeader
inPlaceListNavigationTemplate.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
inTravelEstimate.Builder
per personalizzare la scheda di stima del viaggio (Idcc6d, Ic620d) - Aggiunta del supporto per i
CarIconSpan
nel titolo diPaneTemplate
(Ia1ee0) - Aggiunta del supporto per i
CarIconSpan
nel titolo e nel testo di unRow
(Ic1e3c) - Ora le mappe
ActionStrip
possono avere fino a quattro azioni (If3522) - Aggiorna il livello API dell'app per auto 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 ridimensionamento delle immagini
PaneTemplate
in modo che siano un riquadro delimitante quadrato (Idd72e) - È stata corretta un'eccezione che si verifica se la serie di schermate viene modificata dopo
State.DESTROYED
. (I3c8eb) - È stato aggiunto un controllo null per il recupero dell'icona dell'app (I3f710)
- Aggiornamento dell'API Car Hardware per utilizzare
STATUS_UNKNOWN
anzichéSTATUS_UNAVAILABLE
per impostazione predefinita (Ic9444) - Verificare se il display esiste prima di creare la superficie (Ice027a)
- Correzione del bug
CarValue.equals()
relativo aSTATUS_UNIMPLEMENTED
(I24451)
Versione 1.2
Versione 1.2.0
9 novembre 2022
androidx.car.app:app-*:1.2.0
viene rilasciato. La versione 1.2.0 contiene questi commit.
- Si tratta di una release di stabilizzazione e non sono presenti 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 rilasciato. La versione 1.2.0-rc01 contiene questi commit.
- Questa è 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 release future di Android Auto e Android Automotive.
Correzioni di bug
- È stata corretta un'eccezione che si verifica se la serie di schermate viene modificata dopo
State.DESTROYED
. (I3c8eb) - Aggiornamento dell'API
CarSensors
per indicare che non è implementata per AAOS (Idd57b) - È stato aggiornato
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 rotonda con angolo (Ife7d1)
Versione 1.2.0-beta02
26 gennaio 2022
androidx.car.app:app-*:1.2.0-beta02
viene rilasciato. La versione 1.2.0-beta02 contiene questi commit.
Le app per auto create con questa versione della libreria che ha come target la piattaforma Android Automotive OS
ora possono essere pubblicate nel canale di test aperto del Play Store. Per ulteriori dettagli, consulta la guida allo sviluppo.
Le funzionalità annotate con il livello API 4 e versioni precedenti sono compatibili sia con Android Auto
7.2 e versioni successive sia con la nuova piattaforma Android Automotive OS
. Per le limitazioni, consulta la sezione Known Issues
di seguito.
Modifiche all'API
- È stata aggiunta l'API
setOnContentRefreshListener
sperimentale ai modelli PDI (I6bf22)
Correzioni di bug
- È stata risolta 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 lancio singleTask (Id2f95) - Riduce l'errore visivo al riavvio. (Iff7e0)
Problemi noti
- Le
ActionStrip
della mappa 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 rilasciato. La versione 1.2.0-alpha02 contiene questi commit.
Le funzionalità annotate con il livello API 4 sono state sottoposte ad upgrade da sperimentali a stabili, tra cui le mappe ActionStrip
in PlaceListNavigationTemplate
e RoutePreviewNavigateTemplate
, l'immagine CarIcon
nei Pane
, QRCodeSignInMethod
e la possibilità di impostare suggerimenti di rendering (ad es. flag) nei Action
.
Nuove funzionalità
- In Android Auto 7.1 e versioni successive, il limite di articoli per
Pane
è stato aumentato da 2 a 4.
Modifiche all'API
- È stato aggiunto un metodo
toString()
sperimentale aCarUnit
(I36a3b)
Correzioni di bug
- È stato corretto un arresto anomalo che si verificava in
CarAppPermissionActivity
se il callback non è attivo (If9823) - È stato modificato il limite predefinito dell'elenco
Pane
in 4 (I0068b)
Versione 1.2.0-alpha01
3 novembre 2021
androidx.car.app:app-*:1.2.0-alpha01
viene rilasciato. La versione 1.2.0-alpha01 contiene questi commit.
Tutte le nuove funzionalità di v1.2.0
(API 4 e versioni successive) sono attualmente sperimentali e hanno come target le future release del sistema operativo Android Auto e Android Automotive. Per ulteriori dettagli, consulta la guida allo sviluppo.
Modifiche all'API
- L'API
AutomotiveCarInfo
è stata resa sperimentale. (Ia13e5) - È stato aggiunto il livello 4 dell'API Car App Library (I2a2e7)
- Livello API 4: è stato aggiunto il supporto per l'impostazione di un
CarIcon
inPane
(Ifcc12) - Livello API 4: aggiunto il metodo di accesso con codice QR (Ib623e)
- Livello API 4: è stato aggiunto set/getFlags a
Action
(Ic03ab) - Livello API 4: è stato aggiunto il supporto per la panoramica e lo zoom in
PlaceListNavigationTemplate
eRoutePreviewNavigationTemplate
(I9d8a3)
Correzioni di bug
- Livello API 4: aggiungi un meccanismo per consentire alle app di inviare aggiornamenti sulla posizione all'host dell'auto (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 rilasciato. La versione 1.1.0 contiene questi commit.
Si tratta di una release di stabilizzazione e non sono presenti modifiche rispetto alla versione v1.1.0-rc01
. Consulta anche le note di rilascio di v1.2.0-alpha02
per ulteriori dettagli sulle nuove funzionalità della libreria di app per 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 del testo con 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, ad esempio modello e marca, livello del carburante e altri sensori.
Versione 1.1.0-rc01
3 novembre 2021
androidx.car.app:app-*:1.1.0-rc01
viene rilasciato. La versione 1.1.0-rc01 contiene questi commit.
Questa è 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 release future 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 rilasciato. La versione 1.1.0-beta01 contiene questi commit.
Tutte le funzionalità di v1.1.0
(API 2 e versioni successive) sono completamente compatibili con Android Auto 6.7 e versioni successive. Per ulteriori dettagli, consulta la guida allo sviluppo.
Modifiche all'API
Manager
è stato rimosso come interfaccia pubblica (Ie381b)- È stata aggiunta la possibilità di impostare uno sfondo personalizzato con il brand per la richiesta di autorizzazione (I74b76)
ScreenManager.getStackSize
aggiunto (I0b16a)- È stato rimosso il costruttore
ScreenController
che accetta esplicitamenteTestCarContext
(Iefebc)
Correzioni di bug
- È stato aggiunto il controllo del livello API durante la creazione di
CarHardwareManager
(I48f9b) - Sono stati 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 sua creazione, lo stack rimane in uno stato non funzionante (I81b13) - È stato risolto 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 consentire all'app e all'host di stabilire una versione dell'API (I7d6f8)
Versione 1.1.0-alpha02
21 luglio 2021
androidx.car.app:app-*:1.1.0-alpha02
viene rilasciato. 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, ad esempio 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. Per eseguire il test in un ambiente desktop è necessaria una nuova versione diDesktop Head Unit
che verrà rilasciata separatamente. Continua a visitare la pagina di test delle app per Android per auto per informazioni dettagliate su quando sarà disponibile la nuova versione. - Segui la guida allo sviluppo e il riferimento alla raccolta per ulteriori dettagli e linee guida di progettazione su come utilizzare queste funzionalità negli host di auto compatibili con il livello 3 dell'API.
Modifiche all'API
- Metodi di ciclo di vita
SessionController
eScreenController
consolidati in un unico metodomoveToState
(I1ed00) CarContext#getHostInfo()
aggiunto (I8977e)- Sono stati rimossi i campi deprecati. (I67168)
- Aggiornamenti di
SessionController
eScreenController
per esporre direttamente i costruttori (Iabf22) PinSignInMethod.Builder
eProviderSignInMethod.Builder
rimossi (I9f0cb)- È stato aggiunto "setCarAppResult()" per consentire l'utilizzo di app basate su modelli "per il risultato" in AAOS (I37741)
- Interfacce
CarHardware
annotate con@MainThread
. (Ib2f85) OnCarDataListener
rinominato inOnCarDataAvailableListener
(I518ca)- Nomi dei metodi e javadoc di
CarInfo
,Speed
,Mileage
aggiornati. (I86672) Toll
rinominato inTollCard
. (I3e7c8)- È stato rimosso il valore deprecato
PinSignInMethod.getPin
, sostituito daPinSignInMethod.getPinCode
(I996ce) OnInputCompletedListener
rimosso (sostituito conInputCallback
). (Ib5be1)PinSignInMethod
ora accettaCharSequence
anzichéString
(I275d5)
Correzioni di bug
- Correzioni Javadoc per l'hardware dell'auto. (I2abbc)
Contributo esterno
Problemi noti
- In
SignInTemplate
, l'utilizzo diInputSignInMethod
potrebbe comportare unNullPointerException
nell'host dell'auto. Questo problema verrà risolto nella prossima release della libreria. Per risolvere il problema, includi questa riga nella configurazione di Proguard dell'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
vengono 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 del testo con più lunghezze per consentire alle app di fornire più versioni della stringa da visualizzare in base alle dimensioni dello schermo dell'auto.
- Segui la guida per lo sviluppo e il Javadoc della libreria per ulteriori dettagli e linee guida di progettazione su come utilizzare queste funzionalità negli host di auto compatibili con il livello 2 dell'API.
Modifiche all'API
- Sono stati impostati come predefiniti tutti i metodi dell'interfaccia
*Callback
e sono stati rinominatiOnRequestPermissionsCallback
->OnRequestPermissionsListener
(Ib3ec9) - Classi
androidx.car.app.hardware
aggiornate per rimuovere classi di parametri e generatori non necessari. (I67beb) - Sono state aggiunte le classi
androidx.car.app.hardware
per accedere a dati specifici dell'auto come carburante, batteria e velocità. (Iff3c9) - È stato aggiunto il supporto di
ActionStrip
inMessageTemplate
(Ida657) setLoading
è stato aggiunto aMessageTemplate
. (I2a4b5)ConnectionToCar
rinominato inCarConnection
(Ife9bd)- È stato modificato
NavigationTemplate
in modo da restituire unPanModeDelegate
esplicito (I13877) - Ordine dei parametri aggiornato per
CarContext.requestPermissions
(Ib890a) - Aggiornamento della chiave dei metadati per definire il livello API minimo dell'auto su
androidx.car.api.minCarApiLevel
(Ib0d41) - È stata creata un'API che consente di osservare lo stato della connessione dell'auto (Ifc935)
- È stato aggiunto il supporto per l'impostazione di un pulsante di attivazione/disattivazione per un
Action
e il tipo diAction
modalità panoramica (Ica6af). - Creato
CarNotificationManager
per supportare l'invio di notifiche nell'auto (I10d7a) - È stato aggiunto
ConstraintManager
per fornire i limiti dell'elenco dall'host (I8690e) - È stata aggiunta l'API per la modalità di panoramica e la barra di azioni della mappa in
NavigationTemplate
(I77aa6) - È stata aggiunta l'API di panoramica e zoom in
SurfaceCallback
per le app di navigazione (Id5e9d) CarAppApiLevel
aggiornato a 2 (Ic1540)- È stata aggiunta la possibilità di richiedere autorizzazioni da un
CarAppService
(I5421e) - È stata aggiunta l'annotazione
RequiresCarApi(2)
all'API multitesto (Iacb62) - Sono consentite più varianti di testo nel titolo del modello di elenco parziale (Ib8df7)
- È stato aggiunto il nuovo
LongMessageTemplate
(richiede il livello 2 dell'API Car) (Ic5cee)
Correzioni di bug
- Requisiti delle dimensioni delle immagini aggiornati per tenere conto degli schermi delle auto più grandi (I116dc)
- Non è consentito aggiungere più di due azioni nei testi dei modelli (I32157)
- È stato verificato che tutti i flag di creazione di
PendingIntent
nella raccolta di app per auto siano impostati. (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)- È stato richiesto di inserire nel corpo di
SignInTemplate
eLongMessageTemplate
azioni solo per il parcheggio e di aggiornare la documentazione per indicare che verranno mostrate solo quando l'auto è parcheggiata (Iddaa9) - È stata corretta un'eccezione che si verifica quando viene visualizzato un
Screen
durante l'avvio (Ifcf40, b/184664896) - Colore del testo personalizzato consentito in
ForegroundCarColorSpan
(I69e59) - È stato corretto un problema per cui
ON_DESTROY
su unSession
viene osservato dopoON_DESTROY
di unScreen
(I52e01, b/183696617) - Documentazione Javadoc aggiornata su quando è consentito impostare il tempo rimanente di un
TravelEstimate
su un'ora sconosciuta. (I99610, b/183632456) Action
è stato aggiornato per supportareForegroundColorSpan
nel titolo e qualsiasi colore di sfondo personalizzato (I578e4)- Non eseguire
NavigationManagerCallback#onStopNavigation
se il callback viene cancellato prima dell'esecuzione dell'executor (I7fc5e, b/181143772) - È stato 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 "Ricerca" anziché un'icona "Invio" quando l'utente vuole confermare l'inserimento. Come soluzione alternativa, gli utenti possono accedere alla tastiera dello smartphone che si attiva quando il campo di immissione è 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 tocco.
Test di app per auto, versione 1.0.0
Versione 1.0.0-alpha01
24 marzo 2021
androidx.car.app:app-testing:1.0.0-alpha01
viene rilasciato. La versione 1.0.0-alpha01 contiene questi commit.
Questa è la prima release di Jetpack della libreria di test di origine chiusa precedente. Consulta i nostri samples su come utilizzare questa libreria nei test.
Nuove funzionalità
- I controller per le classi di modelli sono stati rimossi. I getter dei modelli ora fanno parte dell'interfaccia API pubblica che consente di convalidare i valori impostati nei generatori.
- Il precedente
CarAppServiceController
è stato sostituito dal nuovoSessionController
per la logica di test 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 rilasciato. 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 essere pubblicate nel canale di produzione utilizzando
androidx.car.app:app:1.0.0-rc01
. La versione 1.0.0 della raccolta di app per auto è ora stabile ed è 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 dopoON_DESTROY
di unScreen
(0ceecb, b/183696617)
Versione 1.0.0-rc01
24 marzo 2021
androidx.car.app:app:1.0.0-rc01
viene rilasciato. La versione 1.0.0-rc01 contiene questi commit.
Correzioni di bug
- È stato corretto un bug di condizione di gara per cui
NavigationManagerCallback#onStopNavigation
veniva chiamato dopo l'eliminazione del callback. Questo accade se il callback è stato cancellato prima dell'esecuzione dell'eseguitore del callback (I7fc5e, b/181143772) - È stato risolto un problema che richiedeva all'app di dipendere esplicitamente da
lifecycle-common-java8
(I8b8c8) - È stato corretto un errore
NullPointerException
che si verificava quando l'app riceveva una chiamatastopNavigation
dopo aver già rimosso un callback (Ib8b89, b/181143772) - Miglioramenti per non inviare chiamate all'app se il relativo ciclo di vita non è almeno in uno stato
CREATED
(I86965, b/179800224, b/177921120) - È stato risolto un problema per cui un'API min non valida specificata nel file manifest dell'app causava un ANR sull'host. (Iffedd, b/174231592)
Versione 1.0.0-beta01
24 febbraio 2021
androidx.car.app:app:1.0.0-beta01
viene rilasciato. La versione 1.0.0-beta01 contiene questi commit.
Si tratta della prima release Jetpack della libreria precedentemente closed source ed è compatibile con Android Auto 6.1 o versioni successive. Segui la guida allo sviluppo per informazioni dettagliate su come creare app per auto utilizzando la libreria.
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 convalidare che una connessione all'host provenga da una fonte attendibile (ad esempio Android Auto). - È stata aggiunta un'API
CarAppExtender.Builder.setColor
. (b/174231592)
Correzioni di bug
- È stato risolto un problema per cui viene ripreso il
Screen
errato quando le schermate vengono visualizzate in sequenza. (b/177590791)