Googles Desktop Head Unit (DHU) simuliert die Kopfeinheit eines Autos auf Ihrem Computer. Sie koppelt sich über USB mit einem echten Android-Gerät, sodass Sie prüfen können, ob Android Auto auf einem /e/OS-Build funktioniert, ohne Zugang zu einem tatsächlichen Auto zu haben.

Tipp: Dies verbindet ein echtes /e/OS-Gerät mit dem DHU-Tool — es ist kein AVD-/Emulator-Workflow. Verwenden Sie ein physisches Gerät mit aktiviertem USB-Debugging.

Die Desktop Head Unit installieren

Die DHU wird als optionales Paket der Android-SDK-Kommandozeilen-Tools ausgeliefert.

sdkmanager "extras;google;auto"
chmod +x "$ANDROID_HOME/extras/google/auto/desktop-head-unit"

Sie benötigt außerdem glibc ≥ 2.32 und die LLVM-Laufzeitbibliotheken libc++/libc++abi. Unter Debian/Ubuntu:

sudo apt-get install libc++1 libc++abi1
Tipp: Installieren Sie auf Distributionen ohne libc++1-/libc++abi1-Pakete (z. B. Fedora) das libc++/libc++abi-Laufzeitpaket Ihrer Distribution, oder richten Sie LD_LIBRARY_PATH auf bereits installierte Kopien neben anderen Android-Werkzeugen — sowohl der Android Emulator als auch das in Android Studio enthaltene NDK liefern sie mit:
export LD_LIBRARY_PATH="$ANDROID_HOME/emulator/lib64:/path/to/ndk/lib64"

Die vorausgesetzten Apps installieren

Android Auto benötigt seinen üblichen Satz an Google-Apps, installiert über App Lounge auf dem /e/OS-Gerät — folgen Sie Schritte zur Installation von Android Auto (einschließlich des dortigen Tipps zum App-Lounge-Stub-Paket), und starten Sie das Gerät anschließend neu.

Entwicklermodus freischalten und den Head-Unit-Server starten

Beide befinden sich in den eigenen Einstellungen der Android-Auto-App (Settings → nach Android Auto suchen).

  1. Suchen Sie in den Einstellungen nach Android Auto und öffnen Sie es.

    Sucheergebnisse in den Einstellungen für „Android Auto“

  2. Scrollen Sie nach unten und tippen Sie 10 Mal auf Version.

    Die zum Ende gescrollte Einstellungsseite von Android Auto mit dem Eintrag „Version“

  3. Bestätigen Sie die Eingabeaufforderung „Entwicklereinstellungen zulassen?“.

    Bestätigungsdialog zum Zulassen der Entwicklereinstellungen

  4. Der Entwicklermodus ist nun freigeschaltet und über das Überlaufmenü zugänglich.

    Toast-Benachrichtigung: „Entwicklermodus aktiviert. Zugriff über das Überlaufmenü oben rechts.“

  5. Öffnen Sie das Überlaufmenü (⋮, oben rechts).

    Überlaufmenü mit Hilfe & Feedback, Entwicklereinstellungen, Head-Unit-Server starten, Entwicklermodus beenden

  6. Schalten Sie in den Developer settings Unknown sources ein.

    Seite der Entwicklereinstellungen mit eingeschaltetem Schalter für Unbekannte Quellen

  7. Tippen Sie im Überlaufmenü wieder auf Start head unit server.

    Toast-Benachrichtigung: „Head-Unit-Server wird gestartet …“

Verbinden und die DHU starten

Schließen Sie das /e/OS-Gerät über USB an (entsperrt, USB-Debugging autorisiert), und starten Sie dann die DHU im USB-Transportmodus, unter Verwendung der Seriennummer des Geräts (adb devices):

desktop-head-unit --usb <device-serial>
Warnung: Führen Sie diesen Befehl in einem normalen Vordergrund-Terminal aus. Wird er von einem automatisierten/sandboxed Prozess getrennt oder im Hintergrund gestartet, kann er mitten im Handshake beendet werden, bevor die Kopplung mit dem Telefon abgeschlossen ist.

Sobald die DHU sich über USB verbindet und ihren TLS-Handshake mit dem Telefon abschließt, akzeptieren Sie den Zustimmungsbildschirm:

  1. Entsperren Sie das Telefon, wenn Sie dazu aufgefordert werden.

    Der Zustimmungsbildschirm „Willkommen bei Android Auto / Mit Google verbunden“ mit einer Schaltfläche „Nach dem Entsperren akzeptieren“

  2. Tippen Sie auf Continue.

    Derselbe Zustimmungsbildschirm nach dem Entsperren, nun mit einer Schaltfläche „Weiter“

Benachrichtigungszugriff gewähren

Android Auto benötigt Benachrichtigungszugriff, um zu funktionieren — ohne ihn verbindet sich die DHU zwar, zeigt aber nie mehr als einen leeren Ladezustand, selbst wenn das Telefon sich selbst als verbunden meldet.

  1. Settings → nach Notification access suchen zeigt Android Auto unter „Nicht zulässig“ an.

    Seite der Benachrichtigungszugriffs-Einstellungen mit Android Auto unter „Nicht zulässig“ aufgeführt

  2. Tippen Sie darauf, schalten Sie dann Allow notification access ein und bestätigen Sie.

    Bestätigungsdialog: „Benachrichtigungszugriff für Android Auto zulassen?“ mit einer Auflistung dessen, wozu die App dann in der Lage sein wird

  3. Es wird nun als zugelassen angezeigt.

    Seite des Benachrichtigungszugriffs mit eingeschaltetem Schalter für Android Auto

Tipp: Wenn das DHU-Fenster bereits geöffnet ist, während Sie diese Berechtigung erteilen, starten Sie es neu (desktop-head-unit beenden und erneut starten) — es aktualisiert seinen eigenen Zustand nicht automatisch.

Ergebnis

Sobald alles gewährt ist, wechselt das DHU-Fenster zur vollständigen Android-Auto-Oberfläche: App-Raster, Media-Karte und Navigation, passend zur Kopfeinheit eines echten Autos.

Fenster der Desktop Head Unit mit der vollständigen Android-Auto-Oberfläche: App-Raster, eine News-Media-Karte und eine Warnung, dass Google Maps Standortzugriff benötigt

Google Maps benötigt seine eigene Standortberechtigung, erteilt auf dieselbe Weise wie bei jeder anderen App — siehe Google Maps einrichten. Sobald sie erteilt ist, lädt Maps normal innerhalb der DHU:

Fenster der Desktop Head Unit mit vollständig geladenem Google Maps, einer Suchleiste und einer News-Media-Karte

Nützliche Befehle

Sobald verbunden, akzeptiert das Terminal, in dem die DHU läuft, Befehle:

BefehlWirkung
helpVerfügbare Befehle auflisten
screenshotEinen Screenshot der Kopfeinheit speichern
dpad up|down|left|right|clickEine D-Pad-Eingabe senden
mic begin / mic playEinen Sprachassistenten-Tastendruck simulieren
day / night / daynightTag-/Nachtmodus erzwingen
quit / exitVerbindung trennen

Siehe die offizielle DHU-Dokumentation für die vollständige Befehls- und Flag-Referenz.

Fehlerbehebung

  • „Android Auto wurde getrennt“, Bildschirm bleibt hängen: Dieses Android-Auto-Overlay verschwindet nicht von selbst, und das Stoppen/Neustarten des Head-Unit-Servers oder der DHU bringt den Zustimmungsbildschirm ebenfalls nicht zurück. Es erfordert ein tatsächliches physisches Neuverbinden per USB.

    Android Autos Bildschirm „Android Auto wurde getrennt“, mit der Anweisung, das USB-Kabel des Telefons neu zu verbinden

    Trennen und verbinden Sie das USB-Kabel des Geräts erneut, und starten Sie die DHU dann neu.

  • App Lounge bleibt bei Android Auto auf „Öffnen“ hängen: siehe den Tipp zum Stub-Paket unter Schritte zur Installation von Android Auto — entfernen Sie das Stub-Paket mit pm uninstall --user 0 und suchen Sie erneut.

  • DHU-Prozess beendet sich sofort, ohne Fehler: Er wurde wahrscheinlich von dem Prozess beendet, der ihn gestartet hat, statt von selbst fehlzuschlagen — siehe die Warnung unter Verbinden und die DHU starten.