App per auto

Crea app basate su modelli per Android Auto e Android Automotive OS.
Ultimo aggiornamento Release stabile Candidato per la release Versione beta 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.

Creare un nuovo problema

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 framework Notification.Builder anziché solo NotificationCompat.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 classe TabContents.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 di TabTemplate 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 a MediaPlaybackTemplate.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 metodo onDestroy di BaseCarAppActivity 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 nuovo MapWithContentTemplate (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 da MapWithContentTemplate (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 in ListTemplate, ritiro di headerAction, headerTitle, actionStrip (I7ae01)
  • Ritirare title, headerAction, actionStrip in GridTemplate e aggiungere il supporto per Header (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 e actionStrip in PaneTemplate, aggiungere il supporto di Header (I23154)
  • La telemetria di Media Center è passata da BroadcastReceiver ad Azione personalizzata di navigazione. (I4185f)
  • È stato aggiunto il supporto dell'attributo Header in MessageTemplate. Supporto ritirato per ActionStrip, headerAction e title. (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 da ConversationItem (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 da ConversationItem (Ie0a61)

Versione 1.4.0-rc01

1° novembre 2023

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

Versione 1.4.0-beta02

20 settembre 2023

androidx.car.app:app-*:1.4.0-beta02 viene 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 file settings.gradle del progetto per sopprimere temporaneamente l'avviso in tutta sicurezza.

Nuove funzionalità

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 come set/get ContentTemplate (Ica036)
  • Il parametro del modello ora sarà @NonNull. Documentazione dell'API MapWithContentTemplate aggiornata (I0f8ed)
  • Rimuove il tag @ExperimentalCarApi per le azioni in ListTemplate per il lancio in CAL 1.4 (I2cfcb)
  • Rimuove il tag @ExperimentalCarApi per TabTemplate (Ifcb82)
  • Rimuovere le annotazioni @ExperimentalCarApi dalle azioni secondarie e dalle decorazioni 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 a GridTemplate (Ibf431)
  • Aggiungi la proprietà ItemSize a GridTemplate, 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 metodi setImage() 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'immagine GridItem. (I95de7)
  • È stato aggiunto un oggetto Badge sperimentale che rappresenterà un badge da visualizzare sopra un'immagine. (I9878d)

Versione 1.4.0-alpha01

22 febbraio 2023

androidx.car.app:app-*:1.4.0-alpha01 viene 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() e hashCode() con ConversationItem e CarMessage (I6fd10)
  • Migliora la convalida di ConversationItem.mMessages (richiedi non nullo, non vuoto (Iafc51)
  • Aggiungere annotazioni @Keep ai campi ConversationItem (I5d250)
  • Aggiorna la documentazione Java per la decorazione delle righe e le azioni secondarie. (I000b6)

Versione 1.3

Versione 1.3.0-rc01

7 dicembre 2022

androidx.car.app:app-*:1.3.0-rc01 viene 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.

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 e MapTemplate. Per farlo, puoi aggiornare le informazioni di navigazione tramite NavigationManager.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() a ActionsConstraints. Dove consentiva a Action di impostare OnClickDelegate() su azioni diverse dai tipi di icone standard. (TYPE_APP_ICON, TYPE_BACK e TYPE_PAN) (I3c745)

Correzioni di bug

Versione 1.3.0-alpha01

27 luglio 2022

androidx.car.app:app:1.3.0-alpha01, androidx.car.app:app-projected:1.3.0-alpha01, androidx.car.app:app-automotive:1.3.0-alpha01 e androidx.car.app:app-testing:1.3.0-alpha01 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 su NavigationTemplate (I163a7, I5ad70)
  • Livello API 5: nuovi componenti Header e MapController 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 ritirate androidx.car.app.category.PARKING e androidx.car.app.category.CHARGING) (I59da1)

Modifiche all'API

  • Livello API 5: nuovo metodo onClick nell'interfaccia SurfaceCallback per consentire l'interattività con i tocchi sulla mappa (Ia9777)
  • Livello API 5: nuovi flag Action.FLAG_IS_PERSISTENT e Action.FLAG_DEFAULT per descrivere i Action (I96318, I5ad70)
  • Livello API 5: nuovo stato abilitato/disabilitato per i componenti Action, Row e Toggle (il supporto dell'host sarà disponibile con la release 1.3.0-beta01 della libreria) (Id8a09)
  • Livello API 5: prediligi il nuovo componente Header tramite setHeader in PlaceListNavigationTemplate.Builder e RoutePreviewNavigationTemplate.Builder, ritirando i metodi setTitle e setHeaderAction esistenti (I30e6a)
  • Livello API 5: nuovo metodo setOnContentRefreshListner su PlaceListMapTemplate.Builder e PlaceListNavigationTemplate.Builder da utilizzare con le implementazioni della nuova interfaccia OnContentRefreshListner.
  • Livello API 5: nuovi setTripText e setTripIcon in TravelEstimate.Builder per personalizzare la scheda di stima del viaggio (Idcc6d, Ic620d)
  • Aggiunta del supporto per i CarIconSpan nel titolo di PaneTemplate (Ia1ee0)
  • Aggiunta del supporto per i CarIconSpan nel titolo e nel testo di un Row (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 e SignInTemplate (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 a STATUS_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 in PlaceListNavigationTemplate e RoutePreviewNavigateTemplate inizieranno a essere disponibili nelle prossime release Android Auto e Android Automotive OS.

Versione 1.2.0-alpha02

15 dicembre 2021

androidx.car.app:app-*:1.2.0-alpha02 viene 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 a CarUnit(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 in Pane (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 e RoutePreviewNavigationTemplate (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 e LongMessageTemplate che possono essere utilizzati per i flussi di accesso quando il veicolo è parcheggiato
  • Livello API 2: supporto dell'interattività della mappa all'interno di NavigationTemplate
  • Livello API 2: supporto 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: CarHardwareManagerche 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 esplicitamente TestCarContext (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 in CarAppExtender (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 CarHardwareManagerche 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 di Desktop 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 e ScreenController consolidati in un unico metodomoveToState (I1ed00)
  • CarContext#getHostInfo() aggiunto (I8977e)
  • Sono stati rimossi i campi deprecati. (I67168)
  • Aggiornamenti di SessionController e ScreenController per esporre direttamente i costruttori (Iabf22)
  • PinSignInMethod.Builder e ProviderSignInMethod.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 in OnCarDataAvailableListener (I518ca)
  • Nomi dei metodi e javadoc di CarInfo, Speed, Mileage aggiornati. (I86672)
  • Toll rinominato in TollCard. (I3e7c8)
  • È stato rimosso il valore deprecato PinSignInMethod.getPin, sostituito da PinSignInMethod.getPinCode (I996ce)
  • OnInputCompletedListener rimosso (sostituito con InputCallback). (Ib5be1)
  • PinSignInMethod ora accetta CharSequence anziché String (I275d5)

Correzioni di bug

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

Contributo esterno

Problemi noti

  • In SignInTemplate, l'utilizzo di InputSignInMethod potrebbe comportare un NullPointerException 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 e LongMessageTemplate che possono essere utilizzati per i flussi di accesso quando il veicolo è parcheggiato.
  • Livello API 2: nuovo supporto dell'interattività della mappa all'interno di NavigationTemplate
  • Livello API 2: nuovo supporto 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 rinominati OnRequestPermissionsCallback -> 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 in MessageTemplate (Ida657)
  • setLoading è stato aggiunto a MessageTemplate. (I2a4b5)
  • ConnectionToCar rinominato in CarConnection (Ife9bd)
  • È stato modificato NavigationTemplate in modo da restituire un PanModeDelegate 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 di Action 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 e LongMessageTemplate 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 un Session viene osservato dopo ON_DESTROY di un Screen (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 supportare ForegroundColorSpan 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 nuovo SessionController 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 un Session viene osservato dopo ON_DESTROY di un Screen (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 chiamata stopNavigation 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à

Correzioni di bug

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