Google Pixel Auto

Vorlagen für Apps für Android Auto und Android Automotive OS erstellen
Letzte Aktualisierung Stabile Version Release-Kandidat Beta-Ausgabe Alphaversion
15. Januar 2025 1.4.0 1.7.0-rc01 - -

Abhängigkeiten deklarieren

Wenn Sie eine Abhängigkeit von der Car App Library hinzufügen möchten, müssen Sie Ihrem Projekt das Google Maven-Repository hinzufügen. Weitere Informationen finden Sie im Maven-Repository von Google.

Fügen Sie der build.gradle-Datei Ihrer App oder Ihres Moduls die Abhängigkeiten für die erforderlichen Artefakte hinzu:

Cool

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

Weitere Informationen zu Abhängigkeiten finden Sie unter Build-Abhängigkeiten hinzufügen.

Feedback

Ihr Feedback hilft uns, Jetpack zu verbessern. Bitte melden Sie uns neue Probleme oder Ideen zur Verbesserung dieser Bibliothek. Sehen Sie sich die vorhandenen Probleme in dieser Bibliothek an, bevor Sie ein neues erstellen. Sie können einem vorhandenen Problem Ihre Stimme geben, indem Sie auf die Schaltfläche mit dem Stern klicken.

Neues Problem erstellen

Weitere Informationen finden Sie in der Dokumentation zum Issue Tracker.

Version 1.7

Version 1.7.0-rc01

15. Januar 2025

androidx.car.app:app-*:1.7.0-rc01 enthält keine nennenswerten Änderungen gegenüber beta03. Version 1.7.0-rc01 enthält diese Commits.

  • Dies ist die erste RC-Version, die die Behebung für CVE-2024-10382 enthält, die in Beta 03 gepatcht wurde. Wenn Sie eine niedrigere Version als 1.7-beta03 verwenden, aktualisieren Sie bitte auf diese Version.

Version 1.7.0-beta03

13. November 2024

Eine Sicherheitslücke und andere allgemeine Fehler wurden behoben. Wenn Sie eine niedrigere Version verwenden, aktualisieren Sie sie bitte auf diese Version.

androidx.car.app:app-*:1.7.0-beta03 wird veröffentlicht. Version 1.7.0-beta03 enthält diese Commits.

API-Änderungen

  • Aktualisieren Sie den CAL-Code für die Serialisierung / Deserialisierung, damit nur Objekte verarbeitet werden, für die die Anmerkung @CarProtocol deklariert ist. (Ic730e)
  • CarAppExtender kann jetzt verwendet werden, um das Framework Notification.Builder zu erweitern, anstatt nur NotificationCompat.Builder. (Id3ad7)
  • Fügen Sie KEY_EXCLUDE_MEDIA_ITEM_FROM_MIXED_APP_LIST hinzu. (I201f9)
  • Der leere Builder-Konstruktor in ConversationItem wird eingestellt und durch einen Konstruktor ersetzt, der erforderliche Parameter annimmt. Außerdem wird eine Prüfung hinzugefügt, um Nullnachrichten zu vermeiden. (Ic8221)

Fehlerkorrekturen

  • Achten Sie darauf, dass für die PlaceList-Zuordnung ein String (nur Text) als Headertitel verwendet wird. (Ic992f)
  • Diese Bibliothek verwendet jetzt JSpecify-Null-Anmerkungen, die sich auf den Typ beziehen. Kotlin-Entwickler sollten die folgenden Compilerargumente verwenden, um die korrekte Verwendung zu erzwingen: -Xjspecify-annotations=strict, -Xtype-enhancement-improvements-strict-mode. (Ib5367, b/326456246)

Version 1.7.0-beta02

18. September 2024

androidx.car.app:app-*:1.7.0-beta02 wird veröffentlicht. Version 1.7.0-beta02 enthält diese Commits.

API-Änderungen

  • KEY_ROOT_HINT_MEDIA_HOST_VERSION zusätzlich hinzufügen (I8796b)
  • Ersetzen Sie die Klasse TabContents.Api8Builder durch den Konstruktor @ExperimentalCarApi in der Klasse TabContents.Builder (I26fbe)
  • Intent-Aktion und Extras für CarMediaApp hinzufügen (I50782)
  • Messaging APIs als nicht experimentell kennzeichnen (I0b070)
  • SectionedItemTemplate kann jetzt auch Remote-Elemente laden, sodass lange Listen ohne Abstürze geladen werden können (I0d122)
  • Fügen Sie SectionedItemTemplate der Liste der unterstützten Vorlagen in TabTemplate in API 8 hinzu. (Idc5d6)

Fehlerkorrekturen

  • Die manuelle Kennzeichnung des Zugriffs auf neue Plattform-APIs wurde entfernt, da dies bei Verwendung von R8 mit AGP 7.3 oder höher (z.B. R8 Version 3.3) und für alle Builds bei Verwendung von AGP 8.1 oder höher (z.B. D8 Version 8.1) automatisch über die API-Modellierung erfolgt. Kunden, die AGP nicht verwenden, wird empfohlen, auf D8 Version 8.1 oder höher umzustellen. Weitere Details findest du in diesem Artikel. (I9496c, b/345472586)

Version 1.7.0-beta01

26. Juni 2024

androidx.car.app:app-*:1.7.0-beta01 wird veröffentlicht. Version 1.7.0-beta01 enthält diese Commits. Die Funktionen sind mit denen identisch, die in alpha01 veröffentlicht wurden. Sie werden unten wiederholt:

Neue Funktionen

  • Karte mit Inhalten:Neue Vorlage mit einem Karten-Canvas und einer Inhaltsvorlage, die derzeit „Liste“, „Raster“, „Bereich“ oder „Nachricht“ sein kann.
    • RoutePreview, PlaceListNavigation und MapTemplate werden nicht mehr unterstützt. Vorlagen funktionieren weiterhin wie gewohnt.
    • Beispiel-Apps wurden aktualisiert, sodass die MapWithContent-Nutzung anstelle von eingestellten Vorlagen angezeigt wird
  • Unterhaltungselement:Neue APIs zum Anzeigen von Unterhaltungen (IM, SMS) und zur Aussprache von Assistant-Text im Auto.
  • Fahrzeugabmessungen:Neue API zum Abrufen von Fahrzeugabmessungen (aktuelle Daten von AAOS).

API-Änderungen

  • Fügen Sie MediaPlaybackTemplate.Builder das @ExperimentalCarApi-Tag hinzu. (Ic1957)
  • Fügt in der experimentellen Version eine neue SectionedItemTemplate hinzu. (I5958a)
  • Einführung von CarAppApiLevel 8 (I3fa22)
  • Es wird MediaPlaybackTemplate hinzugefügt, um Inhalte während der Medienwiedergabe in der Bibliothek der Auto-App anzuzeigen. (I3c10d)
  • Neue API für Apps hinzugefügt, um zu erkennen, ob das System während der Fahrt Hintergrundaudio unterstützt (I0f868)

Fehlerkorrekturen

  • Bestimmte Fälle von Speicherlecks und Abstürzen im CAL-Clientcode und in der CAL-Navigationsbeispielanwendung wurden behoben. (I55e04)
  • Ersetzen Sie requireNotNull instances in der onDestroy-Methode von BaseCarAppActivity durch If-Null-Prüfungen, um Abstürze zu vermeiden. (Iec676)

Version 1.7.0-alpha02

17. April 2024

androidx.car.app:app-*:1.7.0-alpha02 wird veröffentlicht. Version 1.7.0-alpha02 enthält diese Commits.

Neue Funktionen

  • Es wurden Flags für verworfene kartenbasierte Vorlagen hinzugefügt, die in Zukunft von der MapWithContent-Vorlage unterstützt werden.

API-Änderungen

  • Einstellung der alten MapTemplate, RoutePreviewNavigationTemplate und PlaceListNavigationTemplate und Empfehlung der neuen MapWithContentTemplate (Ib0a08)

Version 1.7.0-alpha01

3. April 2024

androidx.car.app:app-*:1.7.0-alpha01 wird veröffentlicht. Wir haben unser Bibliotheksversionierungsschema an die aktive CarApi-Version angepasst. Dies soll auf Grundlage von Entwicklerfeedback für weniger Verwirrung beim Benennungsschema sorgen. Daher überspringen wir Version 1.5 und Version 1.6 und gehen direkt zu Version 1.7 über. Version 1.7.0-alpha01 enthält diese Commits.

Neue Funktionen

  • Karte mit Inhalten: Neue Vorlage mit dem Namen MapWithContent, die Listen, Raster, Bereiche und Nachrichten als Inhalt in einer Karte unterstützt.
    • RoutePreview, PlaceListNavigation: Kartenvorlagen werden nicht mehr unterstützt.
    • Beispiel-Apps wurden aktualisiert, um die Funktionen eingestellter Vorlagen mit MapWithContent zu zeigen.
  • Conversation Item: Neue APIs zum Anzeigen von Unterhaltungen (IM, SMS) und zur Aussprache von Assistant-Text im Auto.
  • Fahrzeugabmessungen: Neue API zum Abrufen von Fahrzeugabmessungen (derzeit Daten von AAOS).

API-Änderungen

  • Bildtyp für extra kleine Zeilen als experimentell kennzeichnen (I5184b)
  • Die CarInfo#fetchExteriorDimensions API wurde hinzugefügt, über die Informationen zu den Außenabmessungen von Fahrzeugen wie Höhe und Breite abgerufen werden können (Ia40c5)
  • ExperimentalAPI-Tag aus MapWithContentTemplate (I66db8) entfernt
  • Aktualisieren Sie den Parameter GridItem#setTitle so, dass er null sein darf. (I3d610)
  • Für die GetHeader API ist API 7 nicht erforderlich, da sie abwärtskompatibel ist (I8c812)
  • Unterstützung für Header in ListTemplate hinzufügen, headerAction, headerTitle und actionStrip verwerfen (I7ae01)
  • Einstellung von title, headerAction und actionStrip in GridTemplate und Unterstützung für Header hinzufügen (I41a9c)
  • Entfernen der Anforderung für Level 7 für experimentelle APIs: Symbol, GridTemplateGetter/Setter für Artikelgröße und Bildform, GridItemMethoden zum Abrufen/Festlegen des Logos. (Id71eb)
  • Einstellung von title, headerAction und actionStrip in PaneTemplate, neue Unterstützung für Header hinzufügen (I23154)
  • Die Media Center-Telemetrie wurde von BroadcastReceiver zu „Benutzerdefinierte Aktion für die Suche“ geändert. (I4185f)
  • Unterstützung für das Header-Attribut in MessageTemplate hinzugefügt Unterstützung für ActionStrip, headerAction und title eingestellt (Ie2de8)
  • Sichtbarkeit der Benachrichtigungskonstante ändern (Icf8a8)
  • isLoading-Attribut aus der übergeordneten Vorlage entfernen (I651e6)
  • Extras hinzufügen, um Medien-Apps über die wichtigsten UI-Parameter zu informieren (I85ca2)
  • Mediacenter-Analysefunktion zu MediaExtensions hinzufügen (I7ce28)
  • Option für ein besonders kleines Bild in Zeilen hinzugefügt. (I72c03)

Fehlerkorrekturen

  • Aktualisieren Sie die Javadoc-Datei für ConversationItem, um anzugeben, dass Nachrichten in der Reihenfolge vom ältesten zum neuesten sortiert werden sollten. (I77a2a)
  • ListTemplate-Trunkierungslogik aktualisieren, um die ältesten Nachrichten aus ConversationItem zu entfernen (Ie0a61)

Version 1.4

Version 1.4.0

29. Mai 2024

androidx.car.app:app-*:1.4.0 wird veröffentlicht. Version 1.4.0 ist eine Hochstufung von 1.4.0-rc02.

Wichtige Änderungen seit Version 1.3.0

  • Kartenrendering für Navigations-Apps im Kombi-Instrument
  • Neue Tab-Vorlage für verbessertes App-Layout und bessere Nutzerfreundlichkeit
  • Unterstützung für adaptive Aufgabenlimits
  • Sekundäre Aktionen für Listenelemente

Version 1.4.0-rc02

13. Dezember 2023

androidx.car.app:app-*:1.4.0-rc02 wird veröffentlicht. Version 1.4.0-rc02 enthält diese Commits. Nur kleinere Fehlerkorrekturen

Fehlerkorrekturen

  • Javadoc für ConversationItem aktualisieren, um anzugeben, dass Nachrichten in der Reihenfolge vom ältesten zum neuesten sortiert werden sollten (I77a2a)
  • ListTemplate-Trunkierungslogik aktualisieren, um die ältesten Nachrichten aus ConversationItem zu entfernen (Ie0a61)

Version 1.4.0-rc01

1. November 2023

androidx.car.app:app-*:1.4.0-rc01 wird ohne nennenswerte Änderungen veröffentlicht. Version 1.4.0-rc01 enthält diese Commits.

Version 1.4.0-beta02

20. September 2023

androidx.car.app:app-*:1.4.0-beta02 wird veröffentlicht. Version 1.4.0-beta02 enthält diese Commits. Diese Version ist fast identisch mit beta01, jedoch wird die compileSdk-Anforderung auf 33 gesenkt.

Fehlerkorrekturen

  • Ein Fehler wurde behoben, durch den Ladebildschirme in Tabs nicht richtig angezeigt wurden. (cae860)

Version 1.4.0-beta01

9. August 2023

androidx.car.app:app-*:1.4.0-beta01 wird veröffentlicht. Version 1.4.0-beta01 enthält diese Commits.

Hinweis:Für 1.4-beta01 ist compileSdk34 erforderlich, das sich noch im Entwicklungsstatus befindet. Dieses Problem wird in Version 1.4-beta02 behoben. Alternativ können Sie der Datei settings.gradle Ihres Projekts android.suppressUnsupportedCompileSdk=34 hinzufügen, um die Warnung vorübergehend zu unterdrücken.

Neue Funktionen

API-Änderungen

  • Siehe alpha02

Version 1.4.0-alpha02

26. Juli 2023

androidx.car.app:app-*:1.4.0-alpha02 wird veröffentlicht. Version 1.4.0-alpha02 enthält diese Commits.

  • Die Veröffentlichung von Alpha02 soll eine Vorbereitung auf die bevorstehende Veröffentlichung von Beta01 sein.

Neue Funktionen

  • Kartenrendering im Kombi-Instrument für Navigations-Apps
  • Tabs für Apps hinzugefügt, um das Layout zu verbessern
  • Es wurden Optionen zum Rendern von Listen-/Rastervorlagen hinzugefügt.
  • Neue Kategorien für Wetter und Kommunikation hinzugefügt
  • Mehrere APIs auf die nächste CarApi 7-Version umstellen

API-Änderungen

  • CarMessage (I5aaf6) Multimediafelder hinzufügen
  • Fügen Sie ConversationItem in der Auto-App-Bibliothek (Ie5ed6) benutzerdefinierte Aktionen hinzu.
  • Mit Extras angeben, dass ein Medienelement mit einem immersiven Audioformat wiedergegeben wird, und das Logo des Inhaltsformats präsentieren (Icb5bb)
  • Neuer Aktionstyp „ActionsConstraints API“ hinzugefügt, um die Schaltfläche „Schreiben“ zu unterstützen. (I31661)
  • set/getTemplate in set/get ContentTemplate (Ica036) geändert
  • Der Vorlagenparameter wäre jetzt @NonNull. Aktualisierte MapWithContentTemplate API-Dokumentation (I0f8ed)
  • Das @ExperimentalCarApi-Tag für Aktionen in ListTemplate wird für die Einführung in CAL 1.4 entfernt (I2cfcb)
  • Entfernt das @ExperimentalCarApi-Tag für TabTemplate (Ifcb82)
  • @ExperimentalCarApi-Anmerkungen aus sekundären Zeilenaktionen und -dekorationen entfernen (I8487e)
  • TabTemplate enthält jetzt die ID des aktiven Tabs und der aktive Status von Tabs wird eingestellt (I96932)
  • ItemImageShape-Property zu GridTemplate hinzufügen (Ibf431)
  • Fügen Sie GridTemplate die Eigenschaft ItemSize hinzu, mit der die Größe von Rasterelementen in kleinen, mittleren und großen Buckets gesteuert wird. (Icdb3b)
  • Gewähren Sie Entwicklern API-Zugriff, damit sie eine Kopie des aktuellen Bildschirmstacks erhalten. (I48107)
  • Der App-Bibliothek für Autos wird eine Kategorie für Wetter-Apps hinzugefügt (I2be44)
  • Die Kategorie zum Aufrufen von Apps wird der Auto-App-Bibliothek hinzugefügt (Icab33)
  • GridItem.Builder#setBadge() durch überladene setImage()-Methoden ersetzt (Id2000)
  • Symboleigenschaft zum Kennzeichen hinzufügen (I629b2)
  • Methode zum Festlegen der Hintergrundfarbe des Punktsymbols hinzufügen (I6411c)
  • Fügen Sie GridItem die Badge-Eigenschaft hinzu, damit ein Logo über einem GridItem-Bild angezeigt werden kann. (I95de7)
  • Es wurde ein experimentelles Badge-Objekt hinzugefügt, das ein Badge darstellt, das über einem Bild angezeigt wird. (I9878d)

Version 1.4.0-alpha01

22. Februar 2023

androidx.car.app:app-*:1.4.0-alpha01 wird veröffentlicht. Version 1.4.0-alpha01 enthält diese Commits.

API-Änderungen

  • Fügen Sie GridTemplate in der Bibliothek für Auto-Apps (Id0191) Aktionen der obersten Ebene hinzu.
  • Fügen Sie ListTemplate in der Auto-App-Bibliothek (I9efab) Aktionen auf oberster Ebene hinzu.
  • Extras hinzufügen, um den Untertitel oder die Beschreibung eines Medienelements mit anderen Medienelementen zu verknüpfen (Ic84bf)
  • Aktualisieren Sie die API-Ebene für Zeilenaktionen auf Stufe 6. (Ie0a69)
  • Messaging-Callbacks zu A4C hinzufügen (Ie3986)

Fehlerkorrekturen

  • Fügen Sie fehlende Java-Dokumentverweise für CarMessage hinzu. (I5db1c)
  • equals() und hashCode() für ConversationItem und CarMessage überschreiben (I6fd10)
  • ConversationItem.mMessages-Validierung verbessern (nicht null, nicht leer) (Iafc51)
  • @Keep-Anmerkungen zu ConversationItem-Feldern hinzufügen (I5d250)
  • Java-Dokumente für die Zeilendekoration und sekundäre Aktionen aktualisieren (I000b6)

Version 1.3

Version 1.3.0-rc01

7. Dezember 2022

androidx.car.app:app-*:1.3.0-rc01 wird veröffentlicht. Version 1.3.0-rc01 enthält diese Commits.

  • Kleinere Fehlerkorrekturen aus Beta01. Keine größeren Änderungen.

Version 1.3.0-beta01

7. September 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 und androidx.car.app:app-testing:1.3.0-beta01 werden freigegeben. Version 1.3.0-beta01 enthält diese Commits.

Neue Funktionen

Zusätzlich zu den Funktionen, die in der Car App Library 1.3.0-alpha01 hinzugefügt wurden, wurden im Rahmen von beta01 die folgenden Funktionen hinzugefügt. Alle Funktionen hier beinhalten nur hostseitige Änderungen, keine API-Änderungen:

  • Die schwebende Navigationsleiste wird auch dann angezeigt, wenn sich ein Nutzer in PlaceListNavigationTemplate, RoutePreviewNavigationTemplate und MapTemplate in einem kartenbasierten Auswahlbildschirm befindet. Dazu aktualisieren Sie die Navigationsinformationen über NavigationManager.updateTrip().
  • Aktivieren Sie die Aktionsschaltfläche mit FLAG_DEFAULT, um eine Zeitüberschreitungsanimation zu erhalten. Nach Ablauf der Zeitüberschreitung wird standardmäßig auf diese Schaltfläche geklickt. ([API 5 - All Templates])
  • Der Subtext einer Row wird nicht abgeschnitten, wenn das Auto geparkt ist, sondern auf zwei Zeilen beim Fahren. ([API 5 - All Templates])
  • Deaktivierungsstatus für Action, Toggle, Row ([API 5 - All Templates]) unterstützen

API-Änderungen

  • Einschränkungen in der Liste MapTemplate lockern, um auswählbare Listen zu unterstützen (I961ed)
  • Entfernen Sie die Einschränkung für Header-Aktionen, um benutzerdefinierte Symbole zuzulassen. (Iad28f)
  • Fügen Sie die Einschränkung setOnClickListenerAllowed() zu ActionsConstraints hinzu. Es wurde zugelassen, dass Action OnClickDelegate() auf Aktionen festlegte, mit Ausnahme der Standardsymboltypen. (TYPE_APP_ICON, TYPE_BACK und TYPE_PAN) (I3c745)

Fehlerkorrekturen

Version 1.3.0-alpha01

27. Juli 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 und androidx.car.app:app-testing:1.3.0-alpha01 werden freigegeben. Version 1.3.0-alpha01 enthält diese Commits.

Funktionen, die mit der API-Ebene 5 gekennzeichnet sind, sind mit Android Auto 7.9 und höher kompatibel.

Neue Funktionen

  • API-Level 5: Neue MapTemplate, die von Navigations-Apps verwendet werden kann, um neben einer Karte einen Bereich oder Listeninhalte anzuzeigen (If5826, If44b8)
  • API-Ebene 5: Neue CarAudioRecord API zum Aufzeichnen von Audioeingaben über das Mikrofon des Hostfahrzeugs (I5e71a)
  • API-Ebene 5: neue SuggestionManager API, mit der Apps dem Host Vorschläge machen können (I5c103)
  • API-Level 5: neue Alert API für die Anzeige von Kontextbenachrichtigungen auf der NavigationTemplate (I163a7, I5ad70)
  • API-Level 5: Neue Header- und MapController-Komponenten zur Wiederverwendung in verschiedenen Vorlagen (If5826)
  • androidx.car.app.category.POI wurde als Kategorie zum Aktivieren von POI-Apps hinzugefügt (androidx.car.app.category.PARKING und androidx.car.app.category.CHARGING wurden eingestellt) (I59da1)

API-Änderungen

  • API-Ebene 5: Neue onClick-Methode in der SurfaceCallback-Benutzeroberfläche, die das Tippen auf die Karte ermöglicht (Ia9777)
  • API-Level 5: Neue Flags Action.FLAG_IS_PERSISTENT und Action.FLAG_DEFAULT zur Beschreibung von Actions (I96318, I5ad70)
  • API-Ebene 5: neuer aktivierter/deaktivierter Status für die Komponenten Action, Row und Toggle (Host-Unterstützung wird ungefähr mit der 1.3.0-beta01-Version der Bibliothek eingeführt) (Id8a09)
  • API-Ebene 5: Die neue Header-Komponente wird über setHeader auf der PlaceListNavigationTemplate.Builder und RoutePreviewNavigationTemplate.Builder bevorzugt. Die vorhandenen Methoden setTitle und setHeaderAction werden eingestellt. (I30e6a)
  • API-Level 5: Neue setOnContentRefreshListner-Methode für PlaceListMapTemplate.Builder und PlaceListNavigationTemplate.Builder zur Verwendung mit Implementierungen der neuen OnContentRefreshListner-Schnittstelle.
  • API-Ebene 5: Neue setTripText und setTripIcon in der TravelEstimate.Builder zum Anpassen der Karte mit Reisezeit- und -kostenschätzung (Idcc6d, Ic620d)
  • Unterstützung für CarIconSpans im Titel der PaneTemplate hinzufügen (Ia1ee0)
  • Unterstützung für CarIconSpan im Titel und Text einer Row hinzufügen (Ic1e3c)
  • KartenActionStrip können jetzt bis zu vier Aktionen haben (If3522)
  • API-Ebene der Auto-App auf 5 aktualisieren (I26b8e)
  • Überschriften/Titel sind jetzt für PlaceListMapTemplate, PlaceListNavigationTemplate, RoutePreviewNavigationTemplate, GridTemplate, ListTemplate, LongMessageTemplate, MessageTemplate, PaneTemplate und SignInTemplate (I2078d, Icadde) optional.

Fehlerkorrekturen

  • Die Regeln für die Bildgröße von PaneTemplate wurden auf einen quadratischen Begrenzungsrahmen aktualisiert (Idd72e)
  • Eine Ausnahme wurde behoben, die auftritt, wenn der Bildschirmstapel nach State.DESTROYED geändert wird. (I3c8eb)
  • Es wurde eine Null-Prüfung zum Abrufen des App-Symbols hinzugefügt (I3f710).
  • Aktualisierung der Car Hardware API, damit standardmäßig STATUS_UNKNOWN anstelle von STATUS_UNAVAILABLE verwendet wird (Ic9444)
  • Prüfen, ob Display vorhanden ist, bevor Oberfläche erstellt wird (Ice027a)
  • Behebung eines Fehlers bei CarValue.equals() im Zusammenhang mit STATUS_UNIMPLEMENTED (I24451)

Version 1.2

Version 1.2.0

9. November 2022

androidx.car.app:app-*:1.2.0 wird veröffentlicht. Version 1.2.0 enthält diese Commits.

  • Dies ist eine Stabilisierungsversion. Es gibt keine Änderungen im Vergleich zu Version 1.2.0-rc01.

Version 1.2.0-rc01

23. März 2022

androidx.car.app:app-*:1.2.0-rc01 wird veröffentlicht. Version 1.2.0-rc01 enthält diese Commits.

  • Dies ist ein Stabilisierungsrelease. Im Vergleich zu v1.2.0-beta02 gibt es keine API-Änderungen. Es wurden neue experimentelle Funktionen (API-Level 5) hinzugefügt, die für zukünftige Android Auto- und Android Automotive-Releases vorgesehen sind.

Fehlerkorrekturen

  • Eine Ausnahme wurde behoben, die auftritt, wenn der Bildschirmstapel nach State.DESTROYED geändert wird. (I3c8eb)
  • Die CarSensors API wurde aktualisiert, um anzugeben, dass sie nicht für AAOS implementiert ist (Idd57b).
  • PlaceListMapTempalte.Builder#setCurrentLocationEnabled wurde aktualisiert, um anzugeben, dass ACCESS_COARSE_LOCATION für die Funktion ausreichend ist (I510c2)
  • Die Ausfahrtsnummer ist für Abbiegetypen bei Kreisverkehren mit Abbiegewinkel optional (Ife7d1).

Version 1.2.0-beta02

26. Januar 2022

androidx.car.app:app-*:1.2.0-beta02 wird veröffentlicht. Version 1.2.0-beta02 enthält diese Commits.

Mit dieser Bibliotheksversion erstellte Auto-Apps, die auf die Android Automotive OS-Plattform ausgerichtet sind, können jetzt im offenen Testkanal des Play Store veröffentlicht werden. Weitere Informationen finden Sie im Entwicklerleitfaden.

Funktionen, die mit API-Level 4 oder niedriger gekennzeichnet sind, sind sowohl mit Android Auto 7.2 und höher als auch mit der neuen Android Automotive OS-Plattform kompatibel. Weitere Informationen finden Sie im Abschnitt Known Issues unten.

API-Änderungen

  • Die experimentelle setOnContentRefreshListener API wurde POI-Vorlagen hinzugefügt (I6bf22)

Fehlerkorrekturen

  • Ein Speicherleck in CarAppService wurde behoben, das auftrat, wenn die Bindung des Auto-Hosts aufgehoben wurde. (I5c9ca, b/203594731)
  • CarAppActivity-Javadoc wurde um Anforderungen für den Launch-Modus „singleTask“ ergänzt (Id2f95)
  • Reduziert das visuelle Problem beim Fortsetzen. (Iff7e0)

Bekannte Probleme

  • Die KartenActionStrip in PlaceListNavigationTemplate und RoutePreviewNavigateTemplate werden in den nächsten Android Auto- und Android Automotive OS-Releases verfügbar sein.

Version 1.2.0-alpha02

15. Dezember 2021

androidx.car.app:app-*:1.2.0-alpha02 wird veröffentlicht. Version 1.2.0-alpha02 enthält diese Commits.

Funktionen, die mit API-Ebene 4 annotiert sind, wurden von „experimentell“ zu „stabil“ umgestellt. Dazu gehören die KartenActionStrip in PlaceListNavigationTemplate und RoutePreviewNavigateTemplate, das CarIcon-Bild in Pane, die QRCodeSignInMethod und die Möglichkeit, Renderinghinweise (z. B. Flags) in Action festzulegen.

Neue Funktionen

  • In Android Auto 7.1 und höher wurde das Artikellimit für Pane von 2 auf 4 erhöht.

API-Änderungen

  • CarUnit(I36a3b) hat eine experimentelle toString()-Methode erhalten.

Fehlerkorrekturen

  • Ein Absturz in CarAppPermissionActivity wurde behoben, der auftrat, wenn der Rückruf nicht mehr aktiv war (If9823)
  • Standardlistenlimit von Pane auf 4 geändert (I0068b)

Version 1.2.0-alpha01

3. November 2021

androidx.car.app:app-*:1.2.0-alpha01 wird veröffentlicht. Version 1.2.0-alpha01 enthält diese Commits.

Alle neuen v1.2.0-Funktionen (API 4 und höher) sind derzeit experimentell und auf zukünftige Android Auto- und Android Automotive OS-Releases ausgerichtet. Weitere Informationen finden Sie im Entwicklerleitfaden.

API-Änderungen

  • Die AutomotiveCarInfo API ist jetzt experimentell. (Ia13e5)
  • API-Level 4 der Car App Library hinzugefügt (I2a2e7)
  • API-Level 4: Unterstützung für das Festlegen einer CarIcon in Pane hinzugefügt (Ifcc12)
  • API-Level 4: QR-Code-Anmeldemethode hinzugefügt (Ib623e)
  • API-Level 4: set/getFlags wurde zu Action hinzugefügt (Ic03ab)
  • API-Level 4: Unterstützung für Schwenken und Zoomen in PlaceListNavigationTemplate und RoutePreviewNavigationTemplate hinzugefügt (I9d8a3)

Fehlerkorrekturen

  • API-Level 4: Mechanismus hinzufügen, mit dem Apps Standortaktualisierungen an den Auto-Host senden können (I3bad3)
  • Behebung eines Problems, bei dem die Berechtigung „TEMPLATE_RENDERER“ von der Logik zur Hostüberprüfung nicht richtig gefunden wurde (I62618)

Version 1.1.0

Version 1.1.0

15. Dezember 2021

androidx.car.app:app-*:1.1.0 wird veröffentlicht. Version 1.1.0 enthält diese Commits.

Dies ist eine Stabilisierungsversion. Es gibt keine Änderungen im Vergleich zu v1.1.0-rc01. Weitere Informationen zu den neuen Funktionen der Auto-App-Bibliothek finden Sie in den Versionshinweisen für v1.2.0-alpha02.

Wichtige Änderungen seit Version 1.0.0

  • API-Ebene 2: SignInTemplate und LongMessageTemplate, die für die Anmeldung verwendet werden können, wenn das Fahrzeug geparkt ist
  • API-Ebene 2: Unterstützung der Karteninteraktivität innerhalb der NavigationTemplate
  • API-Level 2: Unterstützung für Text mit unterschiedlicher Länge, damit Apps je nach Größe des Autodisplays mehrere Versionen des Strings anzeigen können.
  • API-Ebene 3: CarHardwareManagerMit dieser API können Hardwaredaten des Fahrzeugs abgefragt werden, z. B. Modell und Marke, Tankfüllung und andere Sensoren.

Version 1.1.0-rc01

3. November 2021

androidx.car.app:app-*:1.1.0-rc01 wird veröffentlicht. Version 1.1.0-rc01 enthält diese Commits.

Dies ist ein Stabilisierungsrelease. Im Vergleich zu v1.1.0-beta01 gibt es keine API-Änderungen. Es wurden neue experimentelle Funktionen (API-Level 4) hinzugefügt, die für zukünftige Android Auto-Releases vorgesehen sind. Weitere Informationen zu den experimentellen APIs finden Sie in den Versionshinweisen für v1.2.0-alpha01.

Version 1.1.0-beta01

1. September 2021

androidx.car.app:app-*:1.1.0-beta01 wird veröffentlicht. Version 1.1.0-beta01 enthält diese Commits.

Alle v1.1.0-Funktionen (API 2 und höher) sind vollständig mit Android Auto 6.7 und höher kompatibel. Weitere Informationen finden Sie im Entwicklerleitfaden.

API-Änderungen

  • Manager als öffentliche Schnittstelle entfernt (Ie381b)
  • Es ist jetzt möglich, einen benutzerdefinierten Hintergrund mit Branding für die Berechtigungsanfrage festzulegen (I74b76)
  • ScreenManager.getStackSize (I0b16a) wurde hinzugefügt
  • Der ScreenController-Konstruktor, der explizit TestCarContext annimmt, wurde entfernt (Iefebc)

Fehlerkorrekturen

  • Beim Erstellen von CarHardwareManager wurde eine API-Ebene hinzugefügt (I48f9b).
  • Es wurden Prüfungen auf ungültige CarSpan-Nutzung in der API hinzugefügt (I65ae6)
  • Ein Problem wurde behoben, durch das der Stapel in einem fehlerhaften Zustand zurückblieb, wenn ein Screen während der Erstellung als fertig markiert wurde (I81b13)
  • Behebung eines Problems, bei dem CarNotificationManager.notify einen Fehler für AutomotiveOS protokollierte, wenn es Aktionen mit Symbolen in der CarAppExtender gab (I3633d)
  • Es wurde eine Handshake-Methode für App und Host hinzugefügt, um eine API-Version festzulegen (I7d6f8).

Version 1.1.0-alpha02

21. Juli 2021

androidx.car.app:app-*:1.1.0-alpha02 wird veröffentlicht. Version 1.1.0-alpha02 enthält diese Commits.

Neue Funktionen

  • API-Ebene 3: Es wurde eine CarHardwareManager hinzugefügt, mit der Hardwaredaten des Fahrzeugs abgefragt werden können, z. B. Modell und Marke, Tankfüllung und andere Sensoren. Diese Funktion ist derzeit nur für Android Auto 6.7 und höher im offenen Testkanal verfügbar. Für den Test in einer Desktopumgebung ist eine neue Version von Desktop Head Unit erforderlich, die separat veröffentlicht wird. Weitere Informationen dazu, wann die neue Version verfügbar sein wird, finden Sie auf der Seite Android-Apps für Autos testen.
  • Weitere Informationen und Designrichtlinien zur Verwendung dieser Funktionen in Auto-Hosts, die mit API-Level 3 kompatibel sind, finden Sie im Entwicklungsleitfaden und in der Bibliotheksreferenz.

API-Änderungen

  • Die Lebenszyklusmethoden SessionController und ScreenController wurden in einer einzigen moveToState-Methode zusammengeführt (I1ed00)
  • CarContext#getHostInfo() (I8977e) wurde hinzugefügt
  • Nicht mehr unterstützte Felder wurden entfernt. (I67168)
  • SessionController und ScreenController wurden aktualisiert, um Konstruktoren direkt zu übergeben (Iabf22)
  • PinSignInMethod.Builder und ProviderSignInMethod.Builder entfernt (I9f0cb)
  • „setCarAppResult()“ wurde hinzugefügt, um die Verwendung von Apps mit Vorlagen „für das Ergebnis“ in AAOS zu ermöglichen (I37741)
  • CarHardware-Benutzeroberflächen wurden mit @MainThread kommentiert. (Ib2f85)
  • OnCarDataListener in OnCarDataAvailableListener umbenannt (I518ca)
  • Methodenamen und Javadoc für CarInfo, Speed und Mileage aktualisiert. (I86672)
  • Toll wurde in TollCard umbenannt. (I3e7c8)
  • Die verworfene PinSignInMethod.getPin wurde entfernt und durch PinSignInMethod.getPinCode (I996ce) ersetzt.
  • OnInputCompletedListener wurde entfernt (durch InputCallback ersetzt). (Ib5be1)
  • Für PinSignInMethod wird jetzt CharSequence anstelle von String verwendet (I275d5)

Fehlerkorrekturen

  • Javadoc-Fehlerkorrekturen für Auto-Hardware. (I2abbc)

Externer Beitrag

Bekannte Probleme

  • Wenn du im SignInTemplate das InputSignInMethod verwendest, kann das zu einem NullPointerException im Autohost führen. Dieses Problem wird in der nächsten Version der Bibliothek behoben. Fügen Sie zur Behebung des Problems diese Zeile in die Proguard-Konfiguration Ihrer App ein: -keep class androidx.car.app.model.signin.InputSignInMethod { *; }

Version 1.1.0-alpha01

16. Juni 2021

androidx.car.app:app:1.1.0-alpha01, androidx.car.app:app-automotive:1.1.0-alpha01 und androidx.car.app:app-testing:1.1.0-alpha01 werden losgelassen. Version 1.1.0-alpha01 enthält diese Commits.

Neue Funktionen

  • API-Ebene 2: neue SignInTemplate und LongMessageTemplate, die für die Anmeldung verwendet werden können, wenn das Fahrzeug geparkt ist.
  • API-Ebene 2: Neue Unterstützung für die Karteninteraktivität innerhalb von NavigationTemplate
  • API-Level 2: Neue Unterstützung für Text mit unterschiedlicher Länge, damit Apps je nach Größe des Autodisplays mehrere Versionen des Strings anzeigen können.
  • Weitere Informationen und Designrichtlinien zur Verwendung dieser Funktionen in Auto-Hosts, die mit API-Level 2 kompatibel sind, finden Sie im Entwicklerleitfaden und in der Javadoc der Bibliothek.

API-Änderungen

  • Alle *Callback-Schnittstellenmethoden wurden als Standard festgelegt und OnRequestPermissionsCallback in OnRequestPermissionsListener umbenannt (Ib3ec9)
  • androidx.car.app.hardware-Klassen wurden aktualisiert, um unnötige Builder und Parameterklassen zu entfernen. (I67beb)
  • Es wurden androidx.car.app.hardware-Klassen für den Zugriff auf fahrzeugspezifische Daten wie Kraftstoff, Akku und Geschwindigkeit hinzugefügt. (Iff3c9)
  • Unterstützung für ActionStrip auf MessageTemplate hinzugefügt (Ida657)
  • setLoading wurde zu MessageTemplate hinzugefügt. (I2a4b5)
  • ConnectionToCar in CarConnection umbenannt (Ife9bd)
  • NavigationTemplate wurde geändert, sodass eine explizite PanModeDelegate zurückgegeben wird (I13877)
  • Parameterreihenfolge für CarContext.requestPermissions (Ib890a) aktualisiert
  • Metadatenschlüssel aktualisiert, um die Mindestversion der Auto API auf androidx.car.api.minCarApiLevel festzulegen (Ib0d41)
  • API zum Überwachen des Verbindungsstatus des Autos (Ifc935)
  • Unterstützung für das Festlegen eines Ein-/Aus-Schalters für eine Action hinzugefügt und Action-Typ für den Schwenkmodus (Ica6af) hinzugefügt
  • CarNotificationManager wurde erstellt, um das Senden von Benachrichtigungen im Auto zu unterstützen (I10d7a)
  • ConstraintManager zum Angeben von Listenlimits vom Host hinzugefügt (I8690e)
  • API für den Schwenkmodus und den Kartenaktionsstreifen in NavigationTemplate hinzugefügt (I77aa6)
  • In SurfaceCallback wurde die Schwenk- und Zoom-API für Navigations-Apps hinzugefügt (Id5e9d)
  • CarAppApiLevel auf 2 aktualisiert (Ic1540)
  • Es ist jetzt möglich, Berechtigungen von einer CarAppService anzufordern (I5421e)
  • RequiresCarApi(2)-Anmerkung zur Multi-Text API hinzugefügt (Iacb62)
  • Mehrere Textvarianten im Titel der Vorlage für die Halbliste zulässig (Ib8df7)
  • Neue LongMessageTemplate hinzugefügt (erfordert Car API Level 2) (Ic5cee)

Fehlerkorrekturen

  • Die Anforderungen an die Bildgröße wurden aktualisiert, um größere Autodisplays zu berücksichtigen (I116dc)
  • Es ist nicht mehr zulässig, in Vorlagenkörpern mehr als zwei Aktionen hinzuzufügen (I32157)
  • Es wurde sichergestellt, dass bei der Erstellung von PendingIntents in der Bibliothek der Auto-App Flags gesetzt werden. (If84fe, b/186394900)
  • Javadoc aktualisiert, damit sich der Text von Row beim Aktualisieren ändert (If3f9c)
  • androidx.activity:activity:1.2.0 ist jetzt eine API-Abhängigkeit (Id1cb9)
  • Für SignInTemplate und LongMessageTemplate wurden im Text nur Aktionen für geparkte Fahrzeuge erforderlich gemacht. Außerdem wurde die Dokumentation aktualisiert, um anzugeben, dass sie nur angezeigt werden, wenn das Auto geparkt ist (Iddaa9)
  • Behobene Ausnahme, die beim Einblenden eines Screen während des Starts auftritt (Ifcf40, b/184664896)
  • Zulässige benutzerdefinierte Textfarbe in ForegroundCarColorSpan (I69e59)
  • Ein Problem wurde behoben, bei dem ON_DESTROY auf einer Session nach ON_DESTROY einer Screen angezeigt wurde (I52e01, b/183696617)
  • Die Javadoc-Anmerkungen dazu, wann die verbleibende Zeit einer TravelEstimate auf „Unbekannt“ gesetzt werden darf, wurden aktualisiert. (I99610, b/183632456)
  • Action wurde aktualisiert, um ForegroundColorSpan im Titel und eine beliebige benutzerdefinierte Hintergrundfarbe zu unterstützen (I578e4)
  • NavigationManagerCallback#onStopNavigation nicht ausführen, wenn der Callback vor der Ausführung des Executors gelöscht wird (I7fc5e, b/181143772)
  • Ein Problem wurde behoben, bei dem die App explizit eine Abhängigkeit von „lifecycle-common-java8“ (I8b8c8) übernehmen musste.

Bekannte Probleme

  • In der SignInTemplate wird auf der Bildschirmtastatur ein Suchsymbol anstelle eines Eingabesymbols angezeigt, wenn der Nutzer die Eingabe bestätigen möchte. Als Behelfslösung können Nutzer auf die Smartphone-Tastatur zugreifen, die aktiviert wird, wenn das Eingabefeld den Fokus hat.
  • In Android Auto Version 6.5 werden die Pan- und Zoom-Callbacks in SurfaceCallback bei einigen Touch-Gesten möglicherweise fälschlicherweise aufgerufen.

Version 1.0.0 des Car App-Tests

Version 1.0.0-alpha01

24. März 2021

androidx.car.app:app-testing:1.0.0-alpha01 wird veröffentlicht. Version 1.0.0-alpha01 enthält diese Commits.

Dies ist die erste Jetpack-Version der zuvor geschlossenen Testbibliothek. In unseren Beispielen erfahren Sie, wie Sie diese Bibliothek in Ihren Tests verwenden.

Neue Funktionen

  • Die Controller für die Modellklassen wurden entfernt. Modellgetter sind jetzt Teil der öffentlichen API-Oberfläche, wodurch Werte validiert werden können, die in den Buildern festgelegt wurden.
  • Die vorherige CarAppServiceController wurde durch die neue SessionController ersetzt, um die Logik für die Lebensdauer der Verbindung zu den Hots zu testen.

Version 1.0.0

Version 1.0.0

21. April 2021

androidx.car.app:app:1.0.0 wird veröffentlicht. Version 1.0.0 enthält diese Commits.

Wichtige Funktionen von 1.0.0

  • Anfang April haben wir angekündigt, dass Apps mit androidx.car.app:app:1.0.0-rc01 im Produktionskanal veröffentlicht werden können. Die Version 1.0.0 der Car App Library ist jetzt stabil und vollständig mit Android Auto 6.1 und höher kompatibel.
  • Im Entwicklungsleitfaden finden Sie weitere Informationen dazu, wie Sie mit der Bibliothek Navigations-, Park- und Lade-Apps für Android Auto entwickeln.

Fehlerkorrekturen

  • Es wurde eine Ausnahme behoben, die beim Einblenden eines Screen beim Start auftritt (70aae1, b/184664896)
  • Behoben: ON_DESTROY auf einer Session wird nach ON_DESTROY einer Screen angezeigt (0ceecb, b/183696617)

Version 1.0.0-rc01

24. März 2021

androidx.car.app:app:1.0.0-rc01 wird veröffentlicht. Version 1.0.0-rc01 enthält diese Commits.

Fehlerkorrekturen

  • Ein Fehler bei der Race-Bedingung wurde behoben, bei dem NavigationManagerCallback#onStopNavigation aufgerufen wurde, nachdem der Rückruf gelöscht wurde. Das passiert, wenn der Rückruf gelöscht wurde, bevor der Rückrufausführer tatsächlich ausgeführt wurde (I7fc5e, b/181143772)
  • Ein Problem wurde behoben, bei dem die App explizit eine Abhängigkeit von lifecycle-common-java8 (I8b8c8) übernehmen musste.
  • Ein NullPointerException wurde behoben, das geworfen wurde, wenn die App einen stopNavigation-Aufruf empfing, nachdem sie bereits einen Rückruf entfernt hatte (Ib8b89, b/181143772)
  • Verbesserungen, damit keine Aufrufe an die App gesendet werden, wenn ihr Lebenszyklus nicht mindestens den Status CREATED hat (I86965, b/179800224, b/177921120)
  • Ein Problem wurde behoben, durch das eine ungültige Mindest-API im Manifest der App zu einem ANR auf dem Host führte. (Iffedd, b/174231592)

Version 1.0.0-beta01

24. Februar 2021

androidx.car.app:app:1.0.0-beta01 wird veröffentlicht. Version 1.0.0-beta01 enthält diese Commits.

Dies ist die erste Jetpack-Version der zuvor geschlossenen Quellcode-Bibliothek und ist mit Android Auto 6.1 oder höher kompatibel. Im Entwicklungsleitfaden finden Sie weitere Informationen zum Erstellen von Auto-Apps mit der Bibliothek.

Neue Funktionen

Fehlerkorrekturen

  • Ein Problem wurde behoben, durch das beim sequenziellen Aufrufen von Bildschirmen die falsche Screen fortgesetzt wurde. (b/177590791)