Przeprowadź test za pomocą komputerowego konsoli centralnej

Desktop Head Unit (DHU) umożliwia emulowanie na komputerze deweloperskim jednostki głównej Androida Auto, dzięki czemu możesz uruchamiać i testować aplikacje na Androida Auto. DHU działa w systemach Windows, macOS i Linux.

Po zainstalowaniu DHU możesz przetestować aplikacje Androida Auto, podłączając do niego urządzenie mobilne za pomocą jednego z obsługiwanych mechanizmów połączenia opisanych w sekcji Uruchamianie DHU.

Aby zgłosić błędy lub poprosić o dodanie funkcji związanych z DHU, użyj problem trackera.

Instalowanie DHU

Aby zainstalować DHU na komputerze deweloperskim:

  1. Włącz tryb programisty na urządzeniu mobilnym z Androidem 9 (API na poziomie 28) lub nowszym, zgodnie z opisem w artykule Konfigurowanie opcji programisty na urządzeniu.
  2. Skompiluj i zainstaluj aplikację na urządzeniu.
  3. Zainstaluj na urządzeniu Androida Auto. Jeśli Android Auto jest już zainstalowany, upewnij się, że używasz najnowszej wersji.
  4. W Android Studio otwórz Menedżera SDK i przejdź na kartę Narzędzia SDK, a następnie pobierz pakiet Emulator jednostki głównej Androida Auto na komputer.

    Menedżer SDK z wyświetlonym DHU 2.0
    Menedżer SDK z wyświetlonym DHU 2.0.

    DHU jest zainstalowany w katalogu SDK_LOCATION/extras/google/auto/.

  5. W systemach Linux lub macOS uruchom w tym katalogu to polecenie, aby plik binarny DHU był wykonywalny:

chmod +x ./desktop-head-unit

Dodatkowe czynności w systemie Linux

Jeśli korzystasz z DHU w wersji 2.x w systemie Linux, musisz zainstalować dodatkowe biblioteki. Plik binarny DHU zależy od GLIBC w wersji 2.32 lub nowszej. Wersję GLIBC systemu możesz sprawdzić, uruchamiając to polecenie:

ldd --version

Jeśli wersja jest niższa niż 2.32, zaktualizuj GLIBC do wersji 2.32 lub nowszej. Może to wymagać uaktualnienia systemu operacyjnego do wersji zgodnej z GLIBC 2.32 lub nowszej.

Musisz też zainstalować biblioteki libc++1libc++abi1. Procedura instalacji różni się w zależności od dystrybucji Linuksa. Na przykład w dystrybucjach Linuksa opartych na Debianie możesz zainstalować biblioteki za pomocą tego polecenia:

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

Instalowanie wersji przedpremierowych DHU

Aby uzyskać dostęp do wersji DHU przed premierą, możesz użyć wersji podglądowej Androida Studio lub zmienić kanał aktualizacji istniejącej instalacji Androida Studio na kanał beta.

Uruchamianie DHU

Po zainstalowaniu DHU możesz przetestować aplikacje Androida Auto, podłączając urządzenie mobilne i stację roboczą za pomocą kabla USB. Uruchom DHU, podłączając urządzenie mobilne do komputera deweloperskiego za pomocą trybu akcesoriów (zalecany w przypadku DHU w wersji 2.x) lub tunelowania ADB.

Połącz za pomocą trybu akcesoriów

Android Auto obsługuje połączenie z DHU w wersji 2.x za pomocą protokołu Android Open Accessory (AOA). Aby to zrobić, użyj tego polecenia:

./desktop-head-unit --usb

Domyślnie DHU skanuje listę dostępnych urządzeń USB i próbuje połączyć się z pierwszym zgodnym urządzeniem. Aby kierować reklamy na konkretne urządzenie, podaj identyfikator urządzenia w poleceniu --usb w ten sposób:

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

Łączenie za pomocą tunelowania ADB

Ta metoda wymaga skonfigurowania połączenia z serwerem jednostki głównej Androida Auto za pomocą Android Debug Bridge (adb). Aby skonfigurować tunelowanie i uruchomić DHU, wykonaj te czynności:

  1. Włącz tryb programisty Androida Auto, jeśli nie jest jeszcze włączony.
  2. Jeśli serwer jednostki głównej nie jest jeszcze uruchomiony, otwórz menu przepełnienia i wybierz Start head unit server (Uruchom serwer jednostki głównej), jak pokazano na rysunku 1.

    Na urządzeniu w obszarze powiadomień pojawia się usługa na pierwszym planie, która wskazuje, że serwer jest uruchomiony (rysunek 2).

    Menu kontekstowe z opcjami programisty

    Rysunek 1. Menu kontekstowe z opcjami programisty.

    Powiadomienie o działaniu serwera jednostki głównej

    Rysunek 2. Powiadomienie o tym, że serwer jednostki głównej działa.

  3. W aplikacji Android Auto u góry Ustawień kliknij Wcześniej połączone samochody i sprawdź, czy opcja Dodaj nowe samochody do Androida Auto jest włączona.

  4. Połącz urządzenie mobilne z maszyną deweloperską za pomocą kabla USB.

  5. Sprawdź, czy ekran urządzenia mobilnego jest odblokowany, aby można było uruchomić DHU.

  6. Na komputerze deweloperskim uruchom to polecenie adb, aby przekierować połączenia gniazd z portu 5277 komputera deweloperskiego do tego samego numeru portu na urządzeniu mobilnym. Ta konfiguracja umożliwia DHU łączenie się z serwerem jednostki głównej działającym na urządzeniu mobilnym za pomocą gniazda TCP.

    adb forward tcp:5277 tcp:5277
  7. Uruchom DHU, wpisując polecenie desktop-head-unit.exe w systemie Windows lub ./desktop-head-unit w systemie macOS lub Linux w katalogu SDK_LOCATION/extras/google/auto/:

    cd SDK_LOCATION/extras/google/auto
    desktop-head-unit.exe # Windows
    ./desktop-head-unit # macOS or Linux
DHU działające na komputerze używanym do programowania
DHU uruchomiony na komputerze deweloperskim.
  1. Jeśli po raz pierwszy łączysz urządzenie mobilne z DHU, sprawdź ekran urządzenia mobilnego, aby zaakceptować warunki korzystania z usługi i w razie potrzeby dostosować ustawienia uprawnień.

Po uruchomieniu DHU możesz używać poleceń konsoli DHU, aby uruchamiać i testować aplikację.

Opcje wiersza poleceń

Domyślnie serwer jednostki głównej łączy się przez port 5277. Aby zastąpić hosta lub port, użyj flagi --adb=<[localhost:]port>, jak w tym przykładzie:

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

Domyślnie DHU emuluje panel obsługi zgodny z Androidem Auto z interfejsem użytkownika na ekranie dotykowym. Symuluj dotknięcia użytkownika, klikając DHU za pomocą myszy. Aby emulować jednostki główne, które do wprowadzania danych używają kontrolera obrotowego, możesz użyć flagi -i rotary, jak pokazano w tym przykładzie:

./desktop-head-unit -i controller

Gdy DHU jest w trybie kontrolera obrotowego, możesz używać skrótów klawiszowych do symulowania operacji kontrolera. Więcej informacji znajdziesz w sekcji Kontroler obrotowy. W trybie kontrolera obrotowego DHU ignoruje kliknięcia myszy. Musisz obsługiwać Androida Auto za pomocą symulowanych operacji kontrolera obrotowego.

Inne opcje wiersza poleceń DHU znajdziesz w tej tabeli:

Opcja Opis
-c, --config=FILE Użyj określonego pliku konfiguracji .ini. Więcej informacji znajdziesz w sekcji Konfigurowanie DHU.
-i, --input=INPUT Użyj określonego trybu wprowadzania, jednego z tych: touch, rotary lub hybrid.
-a, --adb=HOSTPORT Użyj transportu ADB. Opcjonalne: host:port lub port. Domyślna wartość to port 5277.
-a, --usb=DEVICE_ID Użyj transportu USB AOA. OpcjonalnieDEVICE_ID.
-v, --version Wyświetl informacje o wersji.
-l, --licenses Pokaż licencje open source.
-h, --headless Uruchomienie w trybie bez interfejsu graficznego.
-t, --always_show_window_on_top Wyświetlanie okien DHU nad innymi oknami (domyślnie wyłączone)
-?, --help Wyświetl listę pomocy.

Przewodnik użytkownika DHU

W tej sekcji opisujemy funkcje obsługiwane przez DHU i sposób ich używania.

Polecenia wpisuje się w oknie terminala, w którym uruchomiono DHU. Wiele poleceń można uruchomić w tym samym wierszu, rozdzielając je znakiem ;.

System

Polecenie Klucz Opis
help [command] Wyświetl pełny zestaw poleceń. Jeśli podano nazwę polecenia, wyświetl pomoc dotyczącą tego polecenia.
quit
exit
Alt+Q Zamknij jednostkę główną.
sleep [seconds] Uśpij na 1 sekundę. Jeśli określono opóźnienie, poczekaj tyle seconds. Może to być używane do tworzenia skryptów dla konsoli centralnej za pomocą ./desktop-head-unit < script.txt, na przykład w środowisku CI.
screenshot filename.png Zapisywanie zrzutu ekranu w grupie filename.png.
licenses Wyświetlanie licencji bibliotek używanych w DHU.
keycode keycode Wyślij keycode, czyli jedną z nazw wymienionych w sekcji Kody klawiszy.

Dotyk i touchpad

Gdy dotyk lub touchpad jest włączony, kliknięcie w oknie wyświetlania (w przypadku dotyku) lub w oknie touchpada (w przypadku touchpada) jest rejestrowane jako zdarzenie dotyku.

W przypadku dotyku symuluj wielodotyk, klikając prawym przyciskiem myszy lokalizację pierwszego palca, a następnie klikając i przytrzymując prawy przycisk dla drugiego palca. Środek między dwoma palcami pozostaje nieruchomy. Przesuwanie myszy umożliwia obracanie palców wokół środka, przybliżanie i oddalanie lub obie te czynności.

W przypadku touchpada kliknij i przytrzymaj lewy przycisk, aby przewijać różne elementy interfejsu na ekranie. Kliknięcie prawego przycisku powoduje wybranie elementu, który jest aktywny.

Polecenie Klucz Opis
tap x y Symuluje zdarzenie dotknięcia w określonych współrzędnych.

Kontroler obrotowy

DHU obsługuje kontroler obrotowy. Gdy jest włączona, obsługiwane są te działania:

  • Klikanie w górę, w dół, w lewo i w prawo na padzie kierunkowym
  • Obracanie w prawo i w lewo
  • Wykonanie szybkiego obrotu (5 kroków naraz)
  • Kliknięcie przycisku w dół i z powrotem na kontrolerze

Polecenia i powiązania klawiszy znajdziesz w tabeli poniżej.

Kółko przewijania na myszy wysyła polecenia dpad rotate, a kliknięcie środkowego przycisku myszy, zwykle kółka przewijania, wysyła polecenia dpad click.

Pamiętaj, że większość samochodów ma ekrany dotykowe. Niektóre samochody mają tylko kontrolery obrotowe, a inne – hybrydowe sterowanie dotykowe i kontroler. Samochody mogą też obsługiwać panel dotykowy, który można wykorzystać do przesuwania mapy i wpisywania tekstu. Podczas symulowania różnych serwerów pojazdu pamiętaj o tych różnych konfiguracjach.

Polecenie Klucz Opis
dpad {up|down|left|right} Klawisze strzałek Przesuń kontroler obrotowy.
dpad {ur|dl|ul|dr} Przesuń kontroler obrotowy.
dpad soft {left|right} Shift + klawisze strzałek Naciśnij przyciski boczne dostępne na niektórych kontrolerach obrotowych.
dpad click Zwrot Naciśnij kontroler obrotowy.
dpad back Backspace Naciśnij przycisk Wstecz dostępny na niektórych kontrolerach obrotowych.
dpad rotate left 1 Obróć kontroler obrotowy w lewo.
dpad rotate right 2 Obróć pokrętło w prawo (zgodnie z ruchem wskazówek zegara).
dpad flick left Shift+1 Szybko obróć kontroler obrotowy w lewo.
dpad flick right Shift+2 Szybko obróć kontroler obrotowy w prawo.
dpad 0-9*#+ Klawiatura numeryczna

Mikrofon

DHU obsługuje używanie mikrofonu do wprowadzania tekstu głosowego lub odtwarzania nagranej wcześniej ścieżki głosowej. Dla wygody w DHU znajdują się te pliki dźwiękowe z najczęstszymi poleceniami głosowymi. Te pliki dźwiękowe znajdują się w katalogu SDK_LOCATION/extras/google/auto/voice/.

Nazwa pliku Tekst
navhome.wav Prowadź do domu.
navwork.wav wyznaczać trasę do pracy,
navsoh.wav Przejdź do opery w Sydney.
navgoogle.wav Prowadź na ulicę Emilii Plater 53, 00-113 Warszawa.
exitnav.wav Zakończ nawigację.
howlong.wav Ile czasu pozostało do celu?
showtraffic.wav Pokaż natężenie ruchu.
showalternateroute.wav Pokaż trasy alternatywne.
pause.wav Wstrzymaj muzykę.
nextturn.wav Kiedy mam następną kolejkę?

Aby uruchomić pojedynczy plik .wav w wierszu poleceń DHU, użyj tego polecenia:

mic play /path/to/filename.wav

W tabeli poniżej znajdziesz inne polecenia związane z mikrofonem:

Polecenie Klucz Opis
mic begin M Włącz mikrofon, symulując kliknięcie przycisku na kierownicy, i poczekaj na dane wejściowe z mikrofonu komputera.
mic play filename.wav Włącz mikrofon i odtwarzaj nagranie z określonego pliku WAV. Uwaga: nie usłyszysz odtwarzanego pliku WAV, ale usłyszysz odpowiedź z Androida Auto.
mic repeat Powtórz ostatnie nagranie użyte w mic play.
mic reject {on|off} Włączanie i wyłączanie odrzucania próśb o dostęp do mikrofonu. Gdy ta opcja jest włączona, wszystkie żądania dostępu do mikrofonu są odrzucane.

Czujniki

DHU obsługuje symulowanie zmian w danych z czujników pojazdu za pomocą tych poleceń: Aby symulować dane z czujników i wysyłać je do Androida Auto, musisz włączyć odpowiednie czujniki za pomocą pliku konfiguracji .ini używanego.ini podczas uruchamiania DHU.

Polecenie Opis
fuel [percentage] Ustaw poziom paliwa na określony procent lub (jeśli nie podano wartości) wyłącz poziom paliwa.
range [km] Ustaw zakres na podaną liczbę kilometrów lub (jeśli nie podano żadnej wartości) wyłącz dane o zakresie.
lowfuel [{on|off}] Ustaw czujnik ostrzegający o niskim poziomie paliwa lub (jeśli nie podano wartości) wyłącz czujnik.
accel [x] [y] [z] Ustaw akcelerometr na określone wartości x, y i z (m/s^2) lub (bez przekazywania parametrów) usuń dane akcelerometru. W razie potrzeby przekaż wartość NAN, aby pominąć parametry opcjonalne.
compass bearing [pitch] [roll] Ustawia kompas na określone wartości azymutu, nachylenia i przechylenia (w stopniach). W razie potrzeby przekaż wartość NAN, aby pominąć parametry opcjonalne.
gyro [x] [y] [z] Ustaw żyroskop na określoną prędkość obrotową w osiach x, y i z (rad/s) lub (bez przekazywania parametrów) wyłącz dane z żyroskopu. W razie potrzeby przekaż wartość NAN, aby pominąć parametry opcjonalne.
location lat long [accuracy] [altitude] [speed] [bearing] Ustawia lokalizację na określone wartości szerokości i długości geograficznej wraz z opcjonalną dokładnością (w metrach), wysokością (w metrach), prędkością (w metrach na sekundę) i kierunkiem (w stopniach). W razie potrzeby przekaż wartość NAN, aby pominąć parametry opcjonalne.
odometer km [current_trip_km] Ustaw licznik kilometrów na podaną wartość w kilometrach wraz z opcjonalną wartością bieżącego przebiegu w kilometrach.
speed [speed] Ustaw prędkość pojazdu na określoną wartość (m/s) lub (jeśli nie podano wartości) wyłącz czujnik.
tollcard {insert|remove} Włóż lub wyjmij kartę opłat.
gps_satellite number_in_use [[azimuth] [elevation] [prn] [snr] [used_in_fix]] Ustaw czujnik satelitów GPS na określoną liczbę używanych satelitów wraz z opcjonalną listą azymutów (stopnie w zakresie od 0 do 360), wysokości (stopnie w zakresie od 0 do 90), prn (pseudolosowy szum), snr (dB) i używanych w ustalaniu pozycji (true lub false).
parking_brake engaged Ustaw czujnik hamulca postojowego na true lub false.
gear gear_value Ustaw czujnik biegu na określoną wartość (np. 0 dla biegu neutralnego, 100 dla biegu do jazdy, 101 dla biegu parkingowego i 102 dla biegu wstecznego).

Tryby dzienny i nocny

DHU obsługuje symulację przełączania między trybem dziennym i nocnym za pomocą tych poleceń i skrótów klawiszowych:

Polecenie Klucz Opis
day Shift+N Włącz tryb dzienny – wysoka jasność, pełne kolory.
night Ctrl+N Włącz tryb nocny – niski poziom jasności i wysoki kontrast.
daynight
nightday
N Przełączanie trybu dziennego i nocnego.

Zarządzanie zaznaczeniem

DHU obsługuje symulowanie, czy Android Auto jest aktywny na jednostce głównej, za pomocą tych poleceń:

Polecenie Opis
focus video {on|off|toggle} Włącz lub wyłącz ostrość wideo na urządzeniu głównym. Wyłączenie ostrości wideo symuluje ukrycie Androida Auto przez jednostkę główną.
focus audio {on|off|toggle} Włączanie i wyłączanie priorytetu dźwięku na jednostce głównej. Wyłączenie fokusu audio symuluje odtwarzanie własnego źródła dźwięku przez radio samochodowe.
focus nav {on|off|toggle} Włączanie i wyłączanie fokusu nawigacji na jednostce głównej. Wyłączenie zaznaczenia nawigacji symuluje działanie własnego systemu nawigacji w radiu samochodowym.

Ograniczenia i stan prowadzenia pojazdu

DHU obsługuje symulowanie pewnych ograniczeń, gdy pojazd jest w ruchu, np. wyłączanie klawiatury i blokowanie konfiguracji telefonu za pomocą tych poleceń:

Polecenie Klucz Opis
restrict none U wyłączyć wszystkie ograniczenia,
restrict all Shift+U Włącz wszystkie ograniczenia, np. aby symulować jazdę.

Zestaw wskaźników

DHU obsługuje emulację zestawu wskaźników. Zwykle znajduje się on za kierownicą i podczas nawigacji wyświetla podstawowe informacje o następnym skręcie, takie jak nazwa następnej drogi lub strzałka skrętu, odległość lub czas. Wyświetla też informacje o trwających połączeniach telefonicznych.

Okno grupy przyrządów DHU wyświetlające informacje o nawigacji i stanie połączenia.
Okno grupy przyrządów DHU wyświetlające informacje o stanie nawigacji i połączenia.

Możesz to włączyć za pomocą wpisu instrumentcluster w sekcji [general] pliku konfiguracyjnego lub za pomocą wpisów navcluster lub phonecluster, aby sterować każdą funkcją oddzielnie.

[general]
...
instrumentcluster = true

Wyświetlacz klastra

Niektóre pojazdy mają wyświetlacze na desce rozdzielczej, które mogą wyświetlać bogate informacje wizualne, takie jak kafelki mapy. Od wersji 2.1 DHU (obecnie dostępnej w kanale aktualizacji Android Studio w wersji beta) możesz emulować taki wyświetlacz na komputerze deweloperskim.

Możesz to zrobić za pomocą pliku konfiguracji z sekcją [display]klastra. Sekcje [display] obsługują te same opcje konfiguracji wideo co główny wyświetlacz skonfigurowany w sekcji [general] pliku.

Rysunek 3. Ekran główny podczas korzystania z DHU z wyświetlaczem klastra dodatkowego.
Rysunek 4. Ekran klastra podczas korzystania z DHU z dodatkowym wyświetlaczem klastra.
...

# 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
...

Tę konfigurację można dodać bezpośrednio do istniejącego pliku .ini lub ponownie wykorzystać, umieszczając ją w osobnym pliku i przekazując wiele plików konfiguracji podczas uruchamiania DHU. Jeśli używasz wielu plików konfiguracji, późniejsze definicje danej wartości zastępują wcześniejsze.

# 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

Stan odtwarzania multimediów

DHU obsługuje dodatkowy wyświetlacz informacji, który pokazuje stan odtwarzania multimediów, np. jaki utwór jest odtwarzany.

Okno stanu odtwarzania multimediów na DHU z informacjami o odtwarzaniu.
Okno stanu odtwarzania multimediów na DHU z informacjami o odtwarzaniu.

Możesz to włączyć, korzystając z pozycji playbackstatus w sekcji [general].

[general]
...
playbackstatus = true

Kody klawiszy

DHU udostępnia zestaw domyślnych kodów klawiszy, które symulują zestaw przycisków skrótów powszechnie dostępnych w pojazdach. Na przykład kod klucza home można wywołać w prompcie DHU w ten sposób:

keycode home

W tabeli poniżej znajdziesz inne dostępne kody klawiszy:

Klawisz Opis
home Przejdź do ekranu głównego.
back Wróć.
call
endcall
Nawiązywanie i kończenie połączeń.
search Wyszukiwanie wyzwalacza.
media_play_pause
media_play
media_pause
odtwarzać i wstrzymywać multimedia,
media_next
media_previous
Przejście do następnej lub poprzedniej ścieżki multimedialnej.
media Otwórz domyślną aplikację do multimediów.
navigation Otwórz domyślną aplikację do nawigacji.
tel Otwórz domyślną aplikację telefoniczną.

Konfigurowanie DHU

DHU obsługuje plik konfiguracyjny .ini, który umożliwia przełączanie trybów wprowadzania danych między dotykowym a obrotowym kontrolerem oraz ustawianie liczby klatek na sekundę, rozdzielczości i DPI, których jednostka główna żąda od telefonu.

Domyślna lokalizacja pliku konfiguracyjnego to ~/.android/headunit.ini. Aby zmienić konfigurację jednostki głównej w systemie, możesz zmodyfikować ten plik.

Możesz też określić plik konfiguracji do załadowania za pomocą flagi -c:

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

Poniższy fragment zawiera przykładową konfigurację:

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

Przykładowe pliki konfiguracyjne, które pokazują różne ustawienia jednostki głównej, które możesz przetestować, znajdują się w folderze SDK_LOCATION/extras/google/auto/config/. W przypadku bardziej zaawansowanych zastosowań zapoznaj się z tymi obsługiwanymi ustawieniami:

Konfiguracja wejścia

W tabeli poniżej znajdziesz opcje konfiguracji danych wejściowych:

Nazwa Domyślny Typ Opis
inputmode default Ciąg znaków Określ tryb wprowadzania. Opcje touch, rotaryhybrid włączają i wyłączają obsługę ekranu dotykowego i pokrętła oraz ustawiają odpowiednie domyślne kody klawiszy. default jest zgodny z opcjami touchcontroller.
controller false Wartość logiczna Włączanie sterowania za pomocą kontrolera obrotowego. Ignorowane, chyba że inputmode ma wartość default.
touch true Wartość logiczna Aktywuj ekran dotykowy. Ignorowane, chyba że inputmode ma wartość default.
touchpad false Wartość logiczna Włącz touchpad.
touchpadnavigation false Wartość logiczna Włącz touchpada, aby można było go używać do nawigacji po interfejsie.
touchpadtapasselect false Wartość logiczna Jeśli ta opcja jest włączona, kliknięcie touchpada jest zdarzeniem wyboru.
touchpaduiabsolute false Wartość logiczna Gdy wartość touchpadnavigation to true, określ, czy dotknięcia mają być traktowane jako bezwzględne, czy jako gesty.

Konfiguracja wideo

Android Auto obsługuje 3 rozdzielczości wideo:

  • 480p (800 x 480, domyślna)
  • 720p (1280 x 720)
  • 1080p (1920 x 1080)

Aby obsługiwać inne proporcje, jednostka główna może w razie potrzeby określić margines, aby wyświetlać obraz z czarnymi pasami u góry i u dołu (lub po bokach). Jeśli na przykład chcesz uzyskać ekran o rozmiarze 1000 x 600, ustaw rozdzielczość na 720p (1280 x 720), a wartości marginwidthmarginheight na 280 i 120. Spowoduje to dodanie marginesu o szerokości 140 pikseli po lewej i prawej stronie oraz marginesu o szerokości 60 pikseli u góry i u dołu.

Poniższa konfiguracja emuluje typowy 6-calowy ekran (750 x 450):

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

A ta przykładowa konfiguracja emuluje bardzo szeroki ekran:

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

W tej tabeli znajdziesz inne opcje konfiguracji filmu:

Nazwa Domyślny Typ Opis
resolution 800x480 Ciąg znaków Przykłady: 800x480, 1280x720, 1920x1080.
dpi 160 Liczba całkowita
normalizedpi false Wartość logiczna Gdy true, zmniejsz rozmiar okna DHU, aby uwzględnić większe wartości DPI. Gdy false, większe wartości DPI powodują powiększenie okien, co nie odzwierciedla rzeczywistych wyświetlaczy, ale ułatwia sprawdzanie treści wizualnych.
realdpi 160 Liczba całkowita Używane w konfiguracji wideo.
framerate 30 Liczba całkowita Używane w konfiguracji wideo.
marginheight 0 Liczba całkowita Używane w konfiguracji wideo.
marginwidth 0 Liczba całkowita Używane w konfiguracji wideo.
margins 0,0,0,0 Ciąg znaków Używane w konfiguracji wideo. Zastępuje ustawienia marginwidth i marginheight, jeśli są dostępne. Format to góra, dół, lewo, prawo.
contentinsets 0,0,0,0 Ciąg znaków Używane w konfiguracji wideo. Format to góra, dół, lewo, prawo.
stablecontentinsets 0,0,0,0 Ciąg znaków Używane w konfiguracji wideo. Domyślnie jest to wartość contentinsets. Format to góra, dół, lewo, prawo.
cropmargins false Wartość logiczna Jeśli określono margins, marginheight lub marginwidth, wartość true dla tego ustawienia usuwa te marginesy z wyświetlanego filmu. Dzięki temu lepiej odzwierciedla to, co widzi użytkownik.
pixelaspectratio 1.0 Pływające Używane w konfiguracji wideo.

Konfiguracja czujnika

Aby symulować dane z czujników i wysyłać je do Androida Auto, musisz włączyć odpowiednie czujniki, korzystając z tych opcji. Jeśli czujnik nie jest włączony, wszystkie dane wysyłane w jego przypadku za pomocą poleceń DHU są ignorowane. Tę konfigurację należy umieścić w sekcji [sensors], a nie w sekcji [general], która jest używana w przypadku większości innych konfiguracji.

[general]
touch = true
...

[sensors]
location = true
fuel = true
...
Nazwa Domyślny Typ Opis
accelerometer false Wartość logiczna włączanie danych z akcelerometru,
compass false Wartość logiczna Włącz dane z czujnika kompasu.
driving_status false Wartość logiczna Włącz dane z czujników stanu jazdy.
fuel false Wartość logiczna Włącz dane z czujnika paliwa.
gyroscope false Wartość logiczna Włącz dane z czujnika żyroskopu.
location false Wartość logiczna Włącz dane z czujników lokalizacji pojazdu.
night_mode false Wartość logiczna Włącz dane z czujnika trybu nocnego.
odometer false Wartość logiczna Włącz dane z czujnika licznika kilometrów.
speed false Wartość logiczna Włącz dane z czujnika prędkości.
toll_card false Wartość logiczna Włącz dane z czujnika karty opłat.
gps_satellite false Wartość logiczna Włącz dane z czujnika satelitarnego GPS.
parking_brake false Wartość logiczna Włącz dane z czujnika hamulca postojowego.
gear false Wartość logiczna Włącz dane z czujnika przełożenia.

Różne opcje konfiguracji

W tabeli poniżej znajdziesz inne opcje konfiguracji:

Nazwa Domyślny Typ Opis
instrumentcluster false Wartość logiczna Włączanie zestawu wskaźników. Dodaje okno do interfejsu, w którym wyświetlane są informacje o nawigacji i stanie telefonu.
navcluster false Wartość logiczna Włączanie zestawu wskaźników. Dodaje do interfejsu okno, w którym wyświetlany jest stan nawigacji.
phonecluster false Wartość logiczna Włączanie zestawu wskaźników. Dodaje okno do interfejsu, aby wyświetlać stan telefonu.
playbackstatus false Wartość logiczna Włącz stan odtwarzania. Dodaje okno do interfejsu, w którym wyświetlane są komunikaty o stanie odtwarzania.
driverposition left Ciąg znaków Przykłady: left, center lub right.
windowleft Liczba całkowita Ustawia położenie okna głównego od lewej.
windowtop Liczba całkowita Ustawia górną pozycję okna głównego.
fueltypes unleaded Strings Co najmniej jedną z tych metod w postaci rozdzielonej przecinkami listy:
  • unleaded
  • leaded
  • diesel-1
  • diesel-2
  • biodiesel
  • e85
  • lpg
  • cng
  • lng
  • hydrogen
  • electric
  • other
  • unknown
evconnectors Strings Zero lub więcej z tych elementów w postaci listy rozdzielonej przecinkami:
  • j1772
  • mennekes
  • chademo
  • combo-1
  • combo-2
  • roadster
  • hpwc
  • gbt
  • supercharger
  • other
  • unknown
Ustawiane tylko wtedy, gdy parametr fueltypes zawiera parametr electric.

Rozwiązywanie problemów

Czasami po pierwszym podłączeniu DHU wyświetla pusty ekran. Możesz to obejść, wykonując te czynności:

  1. Zamknij DHU.
  2. Aby zatrzymać i ponownie uruchomić serwer jednostki głównej, wykonaj krok 5 opisany w sekcji Uruchamianie DHU.
  3. Ponownie uruchom DHU.
  4. Przyznaj dodatkowe uprawnienia, o które aplikacja prosi na ekranie telefonu. DHU może się jeszcze raz wyłączyć.
  5. W razie potrzeby uruchom DHU ponownie.