Test mit der Desktop-Haupteinheit

Mit der Desktop Head Unit (DHU) können Sie auf Ihrem Entwicklungscomputer ein Android Auto-Infotainmentsystem emulieren, um Android Auto-Apps auszuführen und zu testen. Das DHU kann unter Windows, macOS und Linux ausgeführt werden.

Nachdem Sie die DHU installiert haben, können Sie Ihre Android Auto-Apps testen, indem Sie Ihr Mobilgerät über einen der unterstützten Verbindungsmechanismen, die unter DHU ausführen beschrieben sind, damit verbinden.

Wenn Sie Fehler melden oder Funktionen für die DHU anfordern möchten, verwenden Sie die Problemverfolgung.

DHU installieren

So installieren Sie die DHU auf Ihrem Entwicklungscomputer:

  1. Aktivieren Sie den Entwicklermodus auf einem Mobilgerät mit Android 9 (API-Level 28) oder höher, wie unter Entwickleroptionen auf dem Gerät konfigurieren beschrieben.
  2. Kompilieren Sie Ihre App und installieren Sie sie auf dem Gerät.
  3. Installieren Sie Android Auto auf dem Gerät. Wenn Android Auto bereits installiert ist, achten Sie darauf, dass Sie die aktuelle Version verwenden.
  4. Öffnen Sie in Android Studio den SDK-Manager, rufen Sie den Tab SDK Tools auf und laden Sie das Paket Android Auto Desktop Head Unit Emulator herunter.

    Der SDK Manager mit dem DHU 2.0
    Der SDK-Manager mit DHU 2.0.

    Die DHU ist im Verzeichnis SDK_LOCATION/extras/google/auto/ installiert.

  5. Führen Sie auf Linux- oder macOS-Systemen den folgenden Befehl in diesem Verzeichnis aus, um die DHU-Binärdatei ausführbar zu machen:

chmod +x ./desktop-head-unit

Zusätzliche Schritte für Linux

Wenn Sie DHU Version 2.x auf einem Linux-System ausführen, müssen Sie einige zusätzliche Bibliotheken installieren. Das DHU-Binärprogramm hängt von GLIBC Version 2.32 oder höher ab. Sie können die GLIBC-Version Ihres Systems mit diesem Befehl prüfen:

ldd --version

Wenn die Version niedriger als 2.32 ist, aktualisieren Sie GLIBC auf 2.32 oder höher. Dazu müssen Sie möglicherweise das Betriebssystem auf eine Version aktualisieren, die mit GLIBC 2.32 oder höher kompatibel ist.

Außerdem müssen Sie die Bibliotheken libc++1 und libc++abi1 installieren. Das Installationsverfahren hängt von Ihrer Linux-Distribution ab. Unter Debian-basierten Linux-Distributionen können Sie die Bibliotheken beispielsweise mit diesem Befehl installieren:

sudo apt-get install libc++1 libc++abi1

Vorabversionen des DHU installieren

Wenn Sie auf Vorabversionen von DHU zugreifen möchten, können Sie entweder eine Vorabversion von Android Studio verwenden oder den Update-Channel Ihrer vorhandenen Android Studio-Installation in den Betakanal ändern.

DHU ausführen

Nachdem Sie die DHU installiert haben, können Sie Ihre Android Auto-Apps testen, indem Sie Ihr Mobilgerät und Ihre Workstation über USB verbinden. Führen Sie das DHU aus, indem Sie Ihr Mobilgerät über den Zubehör-Modus (empfohlen für DHU 2.x) oder ADB-Tunneling mit einem Entwicklercomputer verbinden.

Verbindung über den Zubehör-Modus herstellen

Android Auto unterstützt die Verbindung zur DHU-Version 2.x über das Android Open Accessory (AOA)-Protokoll mit dem folgenden Befehl:

./desktop-head-unit --usb

Standardmäßig durchsucht das DHU die Liste der verfügbaren USB-Geräte und versucht, eine Verbindung zum ersten kompatiblen Gerät herzustellen. Wenn Sie ein bestimmtes Gerät als Ziel festlegen möchten, geben Sie die Geräte-ID als Teil des --usb-Befehls an:

./desktop-head-unit --usb=[DEVICE_ID]

Verbindung über ADB-Tunneling herstellen

Für diese Methode muss eine Verbindung zum Android Auto-Infotainmentsystemserver über die Android Debug Bridge (adb) eingerichtet werden. Führen Sie die folgenden Schritte aus, um das Tunneling einzurichten und die DHU auszuführen:

  1. Aktivieren Sie den Android Auto-Entwicklermodus, falls er noch nicht aktiviert ist.
  2. Wenn der Server für das Infotainmentsystem noch nicht ausgeführt wird, öffnen Sie das Dreipunkt-Menü und wählen Sie Server für Infotainmentsystem starten aus (siehe Abbildung 1).

    Auf dem Gerät wird im Benachrichtigungsbereich ein Dienst im Vordergrund angezeigt, der darauf hinweist, dass der Server ausgeführt wird (siehe Abbildung 2).

    Kontextmenü mit Entwickleroptionen

    Abbildung 1: Kontextmenü mit Entwickleroptionen.

    Benachrichtigung, dass der Server für das Infotainmentsystem ausgeführt wird

    Abbildung 2: Benachrichtigung, dass der Server für das Infotainmentsystem ausgeführt wird.

  3. Tippen Sie in der Android Auto App oben in den Einstellungen auf Zuvor verbundene Autos und prüfen Sie, ob Neue Autos zu Android Auto hinzufügen aktiviert ist.

  4. Verbinden Sie das Mobilgerät über USB mit dem Entwicklungscomputer.

  5. Achten Sie darauf, dass das Display des Mobilgeräts entsperrt ist, damit die DHU gestartet werden kann.

  6. Führen Sie auf dem Entwicklungscomputer den folgenden adb-Befehl aus, um Socketverbindungen vom Port 5277 des Entwicklungscomputers zum selben Port auf dem Mobilgerät weiterzuleiten. Mit dieser Konfiguration kann das DHU über einen TCP-Socket eine Verbindung zum Head-Unit-Server auf dem Mobilgerät herstellen.

    adb forward tcp:5277 tcp:5277
  7. Starten Sie die DHU, indem Sie unter Windows den Befehl desktop-head-unit.exe oder unter macOS oder Linux den Befehl ./desktop-head-unit im Verzeichnis SDK_LOCATION/extras/google/auto/ ausführen:

    cd SDK_LOCATION/extras/google/auto
    desktop-head-unit.exe # Windows
    ./desktop-head-unit # macOS or Linux
DHU auf einem Entwicklungscomputer ausführen
DHU wird auf einem Entwicklungscomputer ausgeführt.
  1. Wenn Sie das Mobilgerät zum ersten Mal mit der DHU verbinden, sehen Sie auf dem Display des Mobilgeräts die Nutzungsbedingungen. Akzeptieren Sie diese und passen Sie die Berechtigungseinstellungen nach Bedarf an.

Nachdem die DHU gestartet wurde, können Sie DHU-Konsolenbefehle verwenden, um Ihre App auszuführen und zu testen.

Befehlszeilenoptionen

Standardmäßig stellt der Server für das Infotainmentsystem eine Verbindung über Port 5277 her. Verwenden Sie das Flag --adb=<[localhost:]port>, um den Host oder Port zu überschreiben, wie im folgenden Beispiel gezeigt:

./desktop-head-unit --adb=5999

Standardmäßig emuliert die DHU ein mit Android Auto kompatibles Infotainmentsystem mit Touchscreen-Benutzeroberfläche. Simulieren Sie Nutzerberührungen, indem Sie mit einer Maus auf das DHU klicken. Wenn Sie Head-Units emulieren möchten, die einen Drehregler für die Eingabe verwenden, können Sie das Flag -i rotary verwenden, wie im folgenden Beispiel gezeigt:

./desktop-head-unit -i controller

Wenn sich die DHU im Drehreglermodus befindet, können Sie mit Tastenkombinationen Regleraktionen simulieren. Weitere Informationen finden Sie im Abschnitt Drehknopf. Im Drehreglermodus ignoriert das DHU Mausklicks. Sie müssen Android Auto mit den simulierten Drehregler-Vorgängen bedienen.

Weitere Befehlszeilenoptionen für DHU sind in der folgenden Tabelle aufgeführt:

Option Beschreibung
-c, --config=FILE Verwenden Sie die angegebene Konfigurationsdatei .ini. Weitere Informationen finden Sie im Abschnitt DHU konfigurieren.
-i, --input=INPUT Verwenden Sie den angegebenen Eingabemodus: touch, rotary oder hybrid.
-a, --adb=HOSTPORT ADB-Transport verwenden Optional host:port oder port. Die Standardeinstellung ist Port 5277.
-a, --usb=DEVICE_ID USB AOA-Transport verwenden. Optional DEVICE_ID.
-v, --version Versionsinformationen anzeigen
-l, --licenses Open-Source-Lizenzen anzeigen
-h, --headless Im monitorlosen Modus ohne Benutzeroberfläche ausführen
-t, --always_show_window_on_top DHU-Fenster über anderen Fenstern anzeigen (standardmäßig deaktiviert)
-?, --help Hilfeauflistung anzeigen

DHU-Nutzerhandbuch

In diesem Abschnitt werden die vom DHU unterstützten Funktionen und deren Verwendung beschrieben.

Befehle werden in das Terminalfenster eingegeben, in dem Sie DHU gestartet haben. Mehrere Befehle können in derselben Zeile ausgeführt werden, indem Sie sie durch ; trennen.

System

Befehl Schlüssel Beschreibung
help [command] Vollständigen Befehlssatz anzeigen. Wenn ein Befehlsname angegeben ist, wird die Hilfe für diesen Befehl angezeigt.
quit
exit
Alt + Q Beenden Sie die App auf dem Infotainmentsystem.
sleep [seconds] Eine Sekunde lang in den Schlafmodus wechseln. Wenn eine Verzögerung angegeben ist, warte so viele seconds. Dies kann zum Scripting der Head-Unit mit ./desktop-head-unit < script.txt verwendet werden, z. B. in einer CI-Umgebung.
screenshot filename.png Screenshot in filename.png. speichern
licenses Lizenzen der in der DHU verwendeten Bibliotheken anzeigen
keycode keycode Senden Sie keycode, einen der Namen, die im Abschnitt Keycodes aufgeführt sind.

Touch und Touchpad

Wenn die Touch- oder Touchpad-Funktion aktiviert ist, wird ein Klick in das Display-Fenster (bei Touch) oder in das Touchpad-Fenster (bei Touchpad) als Touch-Ereignis registriert.

Um Multitouch-Gesten zu simulieren, klicken Sie mit der rechten Maustaste auf die Position des ersten Fingers und dann mit der linken Maustaste auf die Position des zweiten Fingers. Halten Sie die linke Maustaste gedrückt. Der Mittelpunkt der beiden Finger bleibt fixiert. Durch Bewegen der Maus können Sie die Finger um den Mittelpunkt drehen, zusammen- und auseinanderziehen oder beides.

Klicken Sie auf dem Touchpad auf die linke Taste und halten Sie sie gedrückt, um zwischen verschiedenen UI-Elementen auf dem Bildschirm zu scrollen. Durch Klicken auf die rechte Maustaste wird das Element ausgewählt, das den Fokus hat.

Befehl Schlüssel Beschreibung
tap x y Simuliert ein Touch-Ereignis an den angegebenen Koordinaten.

Drehsteller

Das DHU unterstützt Drehregler. Wenn die Option aktiviert ist, werden die folgenden Aktionen unterstützt:

  • Klicken Sie auf dem Steuerkreuz auf „Nach oben“, „Nach unten“, „Nach links“ und „Nach rechts“.
  • Im Uhrzeigersinn und gegen den Uhrzeigersinn drehen
  • Drehbewegung ausführen (fünf Schritte gleichzeitig)
  • Auf dem Controller nach unten und zurück klicken

Die Befehle und Tastenkombinationen sind in der folgenden Tabelle aufgeführt.

Ein Mausrad sendet dpad rotate-Befehle und das Klicken auf die mittlere Maustaste, in der Regel das Mausrad, sendet dpad click-Befehle.

Die meisten Autos haben Touchscreens. Einige Autos haben nur Drehregler, andere eine Kombination aus Touchscreen und Drehregler. Autos können auch ein Touchpad unterstützen, das zum Schwenken der Karte und zur Texteingabe verwendet werden kann. Berücksichtigen Sie diese unterschiedlichen Konfigurationen, wenn Sie verschiedene Infotainmentsysteme simulieren.

Befehl Schlüssel Beschreibung
dpad {up|down|left|right} Pfeiltasten Drehen Sie den Drehsteller.
dpad {ur|dl|ul|dr} Drehen Sie den Drehsteller.
dpad soft {left|right} Umschalttaste + Pfeiltasten Drücken Sie die Seitentasten, die bei einigen Drehreglern verfügbar sind.
dpad click Rückgabe Drücken Sie den Drehregler.
dpad back Rücktaste Drücke die Zurück-Taste, die auf einigen Drehreglern verfügbar ist.
dpad rotate left 1 Drehen Sie den Drehsteller gegen den Uhrzeigersinn (nach links).
dpad rotate right 2 Drehen Sie den Drehregler im Uhrzeigersinn (nach rechts).
dpad flick left Umschalttaste + 1 Drehen Sie den Drehsteller schnell gegen den Uhrzeigersinn.
dpad flick right Umschalttaste + 2 Drehen Sie den Drehsteller schnell im Uhrzeigersinn.
dpad 0-9*#+ Ziffernblock

Mikrofon

Das DHU unterstützt die Verwendung eines Mikrofons für die Spracheingabe oder zum Abspielen eines vorab aufgenommenen Voice-Tracks. Die folgenden Sounddateien für häufige Sprachbefehle sind im DHU enthalten. Diese Audiodateien befinden sich im Verzeichnis SDK_LOCATION/extras/google/auto/voice/.

Dateiname Text
navhome.wav Zur Startseite gehen.
navwork.wav Zeig mir den Weg zur Arbeit.
navsoh.wav Rufen Sie das Sydney Opera House auf.
navgoogle.wav Zeig mir den Weg zu 1600 Amphitheatre Parkway, Kalifornien, USA.
exitnav.wav Beenden Sie die Navigation.
howlong.wav Wie lange brauche ich bis dorthin?
showtraffic.wav Verkehr anzeigen
showalternateroute.wav Zeigen Sie alternative Routen an.
pause.wav Musik pausieren
nextturn.wav Wann muss ich das nächste Mal abbiegen?

Verwenden Sie den folgenden Befehl, um eine einzelne .wav-Datei in der DHU-Eingabeaufforderung auszuführen:

mic play /path/to/filename.wav

In der folgenden Tabelle sind weitere Mikrofonbefehle aufgeführt:

Befehl Schlüssel Beschreibung
mic begin M Aktivieren Sie das Mikrofon, indem Sie einen Klick auf die Lenkradtaste simulieren, und warten Sie auf die Eingabe über das Computermikrofon.
mic play filename.wav Aktivieren Sie das Mikrofon und spielen Sie die angegebene WAV-Datei ab. Hinweis: Sie hören nicht, dass die WAV-Datei abgespielt wird, aber Sie hören die Antwort von Android Auto.
mic repeat Wiederhole die letzte Aufnahme, die mit mic play verwendet wurde.
mic reject {on|off} Ablehnung von Mikrofonanfragen aktivieren oder deaktivieren Wenn diese Option aktiviert ist, werden alle Mikrofonanfragen abgelehnt.

Sensoren

Mit den folgenden Befehlen können Sie mit dem DHU Änderungen an den Sensordaten des Fahrzeugs simulieren. Wenn Sie Sensordaten simulieren und an Android Auto senden möchten, müssen die entsprechenden Sensoren beim Starten der DHU mit der Konfigurationsdatei .ini aktiviert werden.

Befehl Beschreibung
fuel [percentage] Stelle den Kraftstoffstand auf den angegebenen Prozentsatz ein oder deaktiviere den Kraftstoffstand, wenn kein Wert übergeben wird.
range [km] Legen Sie den Bereich auf die angegebene Kilometerzahl fest oder deaktivieren Sie die Bereichsdaten (wenn kein Wert übergeben wird).
lowfuel [{on|off}] Legen Sie den Sensor für die Warnung bei niedrigem Kraftstoffstand fest oder deaktivieren Sie den Sensor (wenn kein Wert übergeben wird).
accel [x] [y] [z] Stellen Sie den Beschleunigungsmesser auf die angegebenen x-, y- und z-Werte (m/s²) ein oder heben Sie die Beschleunigungsmesserdaten auf, wenn keine Parameter übergeben werden. Übergeben Sie bei Bedarf NAN, um optionale Parameter zu überspringen.
compass bearing [pitch] [roll] Stellen Sie den Kompass auf die angegebenen Werte für Kurs, Neigung und Rollen ein (in Grad). Übergeben Sie bei Bedarf NAN, um optionale Parameter zu überspringen.
gyro [x] [y] [z] Stellt das Gyroskop auf die angegebene Rotationsgeschwindigkeit (rad/s) für die x-, y- und z-Achse ein oder entfernt die Gyroskopdaten, wenn keine Parameter übergeben werden. Übergeben Sie bei Bedarf NAN, um optionale Parameter zu überspringen.
location lat long [accuracy] [altitude] [speed] [bearing] Legt den Standort auf die angegebenen Breiten- und Längengradwerte fest, zusammen mit der optionalen Genauigkeit (m), Höhe (m), Geschwindigkeit (m/s) und Peilung (Grad). Übergeben Sie bei Bedarf NAN, um optionale Parameter zu überspringen.
odometer km [current_trip_km] Stellt den Kilometerzähler auf die angegebene Kilometerzahl ein. Optional kann auch ein Wert für die aktuelle Fahrt angegeben werden.
speed [speed] Legen Sie die Fahrzeuggeschwindigkeit auf den angegebenen Wert (m/s) fest oder deaktivieren Sie den Sensor, wenn kein Wert übergeben wird.
tollcard {insert|remove} Mautkarte einlegen oder entfernen
gps_satellite number_in_use [[azimuth] [elevation] [prn] [snr] [used_in_fix]] Legen Sie den GPS-Satellitensensor auf die angegebene Anzahl im Verwendungswert zusammen mit der optionalen Liste von Azimut (Grad im Bereich von 0 bis 360), Höhe (Grad im Bereich von 0 bis 90), PRN (Pseudorandom Noise), SNR (dB) und „Used in Fix“ (true oder false) fest.
parking_brake engaged Stellen Sie den Sensor für die Feststellbremse auf true oder false ein.
gear gear_value Stellen Sie den Gangsensor auf den angegebenen Wert ein (z. B. 0 für Neutral, 100 für Drive, 101 für Park und 102 für Reverse).

Tag- und Nachtmodus

Das DHU unterstützt die Simulation des Wechsels zwischen Tag- und Nachtmodus mit den folgenden Befehlen und Tastenkombinationen:

Befehl Schlüssel Beschreibung
day Umschalttaste + N Tagesmodus aktivieren – hohe Helligkeit, volle Farben.
night Strg + N Aktivieren Sie den Nachtmodus – geringe Helligkeit, hoher Kontrast.
daynight
nightday
N Tag- oder Nachtmodus aktivieren.

Fokusverwaltung

Mit den folgenden Befehlen kann simuliert werden, ob Android Auto den Fokus auf dem Infotainmentsystem hat:

Befehl Beschreibung
focus video {on|off|toggle} Video-Fokus auf der Headunit aktivieren oder deaktivieren Wenn Sie den Videofokus deaktivieren, wird simuliert, dass das Infotainmentsystem Android Auto ausblendet.
focus audio {on|off|toggle} Audiofokus auf der Head-Unit aktivieren oder deaktivieren Wenn Sie den Audiofokus deaktivieren, wird simuliert, dass das Infotainmentsystem seine eigene Audioquelle wiedergibt.
focus nav {on|off|toggle} Navigationsfokus auf der Head-Unit aktivieren oder deaktivieren Wenn Sie den Navigationsfokus deaktivieren, wird simuliert, dass das Infotainmentsystem ein eigenes Navigationssystem ausführt.

Einschränkungen und Fahrstatus

Das DHU unterstützt die Simulation bestimmter Einschränkungen, wenn sich das Fahrzeug bewegt, z. B. das Deaktivieren der Tastatur und das Verhindern von Telefonkonfigurationen. Verwenden Sie dazu die folgenden Befehle:

Befehl Schlüssel Beschreibung
restrict none U Alle Einschränkungen deaktivieren
restrict all Umschalt + U Aktivieren Sie alle Einschränkungen, z. B. um eine Autofahrt zu simulieren.

Kombiinstrument

Das DHU unterstützt die Emulation eines Kombiinstruments. Dieses Cluster befindet sich in der Regel hinter dem Lenkrad und zeigt während der Navigation grundlegende Informationen zur nächsten Abbiegung an, z. B. den Namen der nächsten Straße oder einen Abbiegepfeil, die Entfernung oder die Zeit. Außerdem werden Informationen zu laufenden Telefonanrufen angezeigt.

Das Kombi-Instrumentenfenster des DHU mit Informationen zum Navigations- und Anrufstatus.
Das Kombi-Instrumentenfenster des DHU mit Informationen zum Navigations- und Anrufstatus.

Dies kann über den Eintrag instrumentcluster im Abschnitt [general] der Konfigurationsdatei oder über die Einträge navcluster oder phonecluster aktiviert werden, um die einzelnen Funktionen separat zu steuern.

[general]
...
instrumentcluster = true

Cluster-Display

Einige Fahrzeuge haben Kombiinstrumente, auf denen detaillierte visuelle Informationen wie Kartenkacheln angezeigt werden können. Ab Version 2.1 des DHU (derzeit über den Android Studio Beta-Updatekanal verfügbar) können Sie ein solches Display auf Ihrem Entwicklercomputer emulieren.

Dazu können Sie eine Konfigurationsdatei mit einem Clusterabschnitt [display] verwenden. [display]-Abschnitte unterstützen dieselben Videokonfigurationsoptionen wie die im [general]-Abschnitt der Datei konfigurierte Hauptanzeige.

Abbildung 3. Der Hauptbildschirm bei der Ausführung von DHU mit einem sekundären Clusterdisplay.
Abbildung 4. Der Clusterbildschirm, wenn die DHU mit einem sekundären Clusterdisplay ausgeführt wird.
...

# The display name following the colon can be whatever you like.
[display:cluster]
# Setting the displaytype as cluster is what lets the DHU know how to handle it.
displaytype = cluster
resolution = 800x480
dpi = 160
...

Diese Konfiguration kann entweder direkt einer vorhandenen .ini-Datei hinzugefügt oder wiederverwendet werden, indem sie in eine separate Datei eingefügt und beim Starten des DHU mehrere Konfigurationsdateien übergeben werden. Wenn Sie mehrere Konfigurationsdateien verwenden, werden frühere Definitionen eines bestimmten Werts durch spätere überschrieben.

# Launch your landscape configuration with your cluster display configuration
./desktop-head-unit -c landscape.ini -c cluster.ini

# Launch the portait configuration with the same cluster display configuration
./desktop-head-unit -c portrait.ini -c cluster.ini

Status der Medienwiedergabe

DHU unterstützt die Anzeige zusätzlicher Informationen zum Status der Medienwiedergabe, z. B. welcher Titel gerade abgespielt wird.

Das Fenster mit dem Status der Medienwiedergabe des DHU mit Wiedergabeinformationen.
Das Fenster mit dem Status der Medienwiedergabe des DHU mit Wiedergabeinformationen.

Dazu kann der Eintrag playbackstatus im Abschnitt [general] verwendet werden.

[general]
...
playbackstatus = true

Keycodes

Das DHU bietet eine Reihe von Standardschlüsselcodes, die die in Fahrzeugen häufig verfügbaren Schaltflächen für Tastenkombinationen simulieren. Der Tastencode home kann beispielsweise im DHU-Prompt so ausgelöst werden:

keycode home

In der folgenden Tabelle sind weitere verfügbare Tastencodes aufgeführt:

Keycode Beschreibung
home Öffnen Sie den Startbildschirm.
back Zurück
call
endcall
Anrufe starten oder beenden
search Suche auslösen
media_play_pause
media_play
media_pause
Medien abspielen oder pausieren
media_next
media_previous
Zum nächsten oder vorherigen Mediatrack wechseln.
media Öffnen Sie die Standard-Medien-App.
navigation Öffnen Sie die Standardnavigations-App.
tel Rufen Sie die Standard-Telefonie-App auf.

DHU konfigurieren

Das DHU unterstützt eine Konfigurationsdatei .ini, mit der die Eingabemodi zwischen Touch- und Drehregler geändert und die Bildrate, Auflösung und DPI festgelegt werden können, die das Head-Unit vom Smartphone anfordert.

Der Standardspeicherort für die Konfigurationsdatei ist ~/.android/headunit.ini. Wenn Sie die Konfiguration des Infotainmentsystems in Ihrem System ändern möchten, können Sie diese Datei bearbeiten.

Sie können auch eine zu ladende Konfigurationsdatei mit dem Flag -c angeben:

./desktop-head-unit -c /path/to/config.ini

Das folgende Snippet zeigt eine Beispielkonfiguration:

[general]
touch = true
touchpad = false
controller = false
instrumentcluster = false
resolution = 800x480
dpi = 160
framerate = 30
fueltypes = unleaded,electric,hydrogen
evconnectors = supercharger

Beispielkonfigurationsdateien mit verschiedenen Einstellungen für die Headunit, die Sie testen können, finden Sie im Ordner SDK_LOCATION/extras/google/auto/config/. Informationen zu komplexeren Anwendungsfällen finden Sie in den folgenden unterstützten Einstellungen:

Eingabekonfiguration

In der folgenden Tabelle sind die Optionen für die Eingabekonfiguration aufgeführt:

Name Standard Eingeben Beschreibung
inputmode default String Legen Sie den Eingabemodus fest. Die Optionen touch, rotary und hybrid aktivieren und deaktivieren die Unterstützung für Touchscreen und Drehrad und legen die Standard-Keycodes entsprechend fest. default wird auf die Optionen touch und controller verschoben.
controller false Boolesch Eingabe über Drehregler aktivieren Wird ignoriert, sofern inputmode nicht default ist.
touch true Boolesch Touchscreen aktivieren Wird ignoriert, sofern inputmode nicht default ist.
touchpad false Boolesch Touchpad aktivieren
touchpadnavigation false Boolesch Aktivieren Sie die Verwendung des Touchpads für die Navigation auf der Benutzeroberfläche.
touchpadtapasselect false Boolesch Wenn „true“ festgelegt ist, wird durch Tippen auf das Touchpad ein Auswahlereignis ausgelöst.
touchpaduiabsolute false Boolesch Wenn touchpadnavigation den Wert true hat, legen Sie fest, ob die Berührungen als absolut oder als Gesten behandelt werden sollen.

Videokonfiguration

Android Auto unterstützt drei Videoauflösungen:

  • 480p (800 × 480, Standard)
  • 720p: 1280 x 720
  • 1080p (1920 × 1080)

Zur Unterstützung anderer Seitenverhältnisse kann die Head-Unit bei Bedarf einen Rand für das Letterboxing (Pillarboxing) angeben. Wenn Sie beispielsweise einen Bildschirm mit 1.000 × 600 Pixeln wünschen, legen Sie die Auflösung auf 720p (1.280 × 720) und marginwidth auf 280 und marginheight auf 120 fest. Dadurch wird ein Rand von 140 px an den linken und rechten Kanten und ein Rand von 60 px oben und unten hinzugefügt.

Die folgende Beispielkonfiguration emuliert einen typischen 6‑Zoll-Bildschirm (750 × 450):

[general]
...
resolution = 800x480
marginwidth = 50
marginheight = 30

Die folgende Beispielkonfiguration emuliert einen sehr breiten Bildschirm:

[general]
...
resolution = 1280x720
marginwidth = 0
marginheight = 220

In der folgenden Tabelle sind weitere Optionen für die Videokonfiguration aufgeführt:

Name Standard Eingeben Beschreibung
resolution 800x480 String Eine der folgenden Möglichkeiten: 800x480, 1280x720, 1920x1080.
dpi 160 Ganzzahl
normalizedpi false Boolesch Wenn true, verkleinern Sie die DHU-Fenstergröße, um größere DPI-Werte zu berücksichtigen. Bei false führen größere DPI-Werte zu größeren Fenstern. Das entspricht zwar nicht der Darstellung auf echten Displays, erleichtert aber die Überprüfung visueller Inhalte.
realdpi 160 Ganzzahl Wird in der Videokonfiguration verwendet.
framerate 30 Ganzzahl Wird in der Videokonfiguration verwendet.
marginheight 0 Ganzzahl Wird in der Videokonfiguration verwendet.
marginwidth 0 Ganzzahl Wird in der Videokonfiguration verwendet.
margins 0,0,0,0 String Wird in der Videokonfiguration verwendet. Überschreibt marginwidth und marginheight, falls vorhanden. Das Format ist oben, unten, links, rechts.
contentinsets 0,0,0,0 String Wird in der Videokonfiguration verwendet. Das Format ist oben, unten, links, rechts.
stablecontentinsets 0,0,0,0 String Wird in der Videokonfiguration verwendet. Der Standardwert ist der Wert von contentinsets. Das Format ist oben, unten, links, rechts.
cropmargins false Boolesch Wenn margins, marginheight oder marginwidth angegeben ist, werden mit dem true-Wert für diese Einstellung die entsprechenden Ränder aus dem angezeigten Video entfernt. So wird besser widergespiegelt, was der Endnutzer sieht.
pixelaspectratio 1.0 Frei schwebend Wird in der Videokonfiguration verwendet.

Sensorkonfiguration

Wenn Sie Sensordaten simulieren und an Android Auto senden möchten, müssen die entsprechenden Sensoren mit den folgenden Optionen aktiviert werden. Wenn ein Sensor nicht aktiviert ist, werden alle Daten, die für diesen Sensor mit den DHU-Befehlen gesendet werden, ignoriert. Diese Konfiguration muss in einen [sensors]-Abschnitt eingefügt werden, nicht in den [general]-Abschnitt, der für die meisten anderen Konfigurationen verwendet wird.

[general]
touch = true
...

[sensors]
location = true
fuel = true
...
Name Standard Eingeben Beschreibung
accelerometer false Boolesch Aktivieren Sie die Erhebung von Daten des Beschleunigungssensors.
compass false Boolesch Kompass-Sensordaten aktivieren
driving_status false Boolesch Aktivieren Sie Sensordaten zum Fahrstatus.
fuel false Boolesch Aktivieren Sie die Daten des Kraftstoffsensors.
gyroscope false Boolesch Aktivieren Sie Daten vom Gyroskopsensor.
location false Boolesch Aktivieren Sie Sensordaten zum Fahrzeugstandort.
night_mode false Boolesch Aktivieren Sie Sensordaten für den Nachtmodus.
odometer false Boolesch Aktivieren Sie die Daten des Kilometerzählersensors.
speed false Boolesch Aktivieren Sie die Daten des Geschwindigkeitssensors.
toll_card false Boolesch Aktivieren Sie Sensordaten für Mautkarten.
gps_satellite false Boolesch Aktivieren Sie GPS-Satellitensensordaten.
parking_brake false Boolesch Aktivieren Sie die Daten des Feststellbremssensors.
gear false Boolesch Aktivieren Sie die Daten des Gangsensors.

Verschiedene Konfigurationsoptionen

In der folgenden Tabelle sind weitere Konfigurationsoptionen aufgeführt:

Name Standard Eingeben Beschreibung
instrumentcluster false Boolesch Kombiinstrument aktivieren. Fügt der Benutzeroberfläche ein Fenster hinzu, in dem der Navigations- und Telefonstatus angezeigt wird.
navcluster false Boolesch Kombiinstrument aktivieren. Fügt der Benutzeroberfläche ein Fenster hinzu, in dem der Navigationsstatus angezeigt wird.
phonecluster false Boolesch Kombiinstrument aktivieren. Fügt der Benutzeroberfläche ein Fenster hinzu, in dem der Telefonstatus angezeigt wird.
playbackstatus false Boolesch Wiedergabestatus aktivieren Fügt der Benutzeroberfläche ein Fenster hinzu, in dem Meldungen zum Wiedergabestatus angezeigt werden.
driverposition left String Entweder left, center oder right.
windowleft Ganzzahl Legt die linke Position des Hauptfensters fest.
windowtop Ganzzahl Legt die obere Position des Hauptfensters fest.
fueltypes unleaded Strings Mindestens eines der folgenden Elemente in einer durch Kommas getrennten Liste:
  • unleaded
  • leaded
  • diesel-1
  • diesel-2
  • biodiesel
  • e85
  • lpg
  • cng
  • lng
  • hydrogen
  • electric
  • other
  • unknown
evconnectors Strings Null oder mehr der folgenden Elemente in einer durch Kommas getrennten Liste:
  • j1772
  • mennekes
  • chademo
  • combo-1
  • combo-2
  • roadster
  • hpwc
  • gbt
  • supercharger
  • other
  • unknown
Nur festlegen, wenn fueltypes electric enthält.

Fehlerbehebung

Manchmal wird auf dem DHU-Display nach der ersten Verbindung ein leerer Bildschirm angezeigt. So können Sie dieses Problem umgehen:

  1. Schließen Sie die DHU.
  2. Folgen Sie Schritt 5 unter DHU ausführen, um den Head Unit-Server zu beenden und neu zu starten.
  3. Starten Sie das DHU neu.
  4. Erteile alle zusätzlichen Berechtigungen, die auf dem Smartphone-Display angefordert werden. Das DHU wird möglicherweise noch einmal heruntergefahren.
  5. Starte das DHU bei Bedarf neu.