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:
- 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.
- Skompiluj i zainstaluj aplikację na urządzeniu.
- Zainstaluj na urządzeniu Androida Auto. Jeśli Android Auto jest już zainstalowany, upewnij się, że używasz najnowszej wersji.
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. DHU jest zainstalowany w katalogu
SDK_LOCATION/extras/google/auto/.W systemach Linux lub macOS uruchom w tym katalogu to polecenie, aby plik binarny DHU był wykonywalny:
chmod +x ./desktop-head-unitDodatkowe 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 --versionJeś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++1 i libc++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++abi1Instalowanie 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 --usbDomyś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:
- Włącz tryb programisty Androida Auto, jeśli nie jest jeszcze włączony.
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).
Rysunek 1. Menu kontekstowe z opcjami programisty.
Rysunek 2. Powiadomienie o tym, że serwer jednostki głównej działa.
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.
Połącz urządzenie mobilne z maszyną deweloperską za pomocą kabla USB.
Sprawdź, czy ekran urządzenia mobilnego jest odblokowany, aby można było uruchomić DHU.
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:5277Uruchom DHU, wpisując polecenie
desktop-head-unit.exew systemie Windows lub./desktop-head-unitw systemie macOS lub Linux w kataloguSDK_LOCATION/extras/google/auto/:cd SDK_LOCATION/extras/google/autodesktop-head-unit.exe # Windows./desktop-head-unit # macOS or Linux
- 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=5999Domyś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 controllerGdy 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. | |
quitexit |
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.wavW 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. |
daynightnightday |
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.
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.
...
# 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.
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 homeW tabeli poniżej znajdziesz inne dostępne kody klawiszy:
| Klawisz | Opis |
|---|---|
home |
Przejdź do ekranu głównego. |
back |
Wróć. |
callendcall
|
Nawiązywanie i kończenie połączeń. |
search |
Wyszukiwanie wyzwalacza. |
media_play_pausemedia_playmedia_pause |
odtwarzać i wstrzymywać multimedia, |
media_nextmedia_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, rotary i hybrid 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 touch i controller. |
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 marginwidth i marginheight 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:
|
evconnectors |
|
Strings | Zero lub więcej z tych elementów w postaci listy rozdzielonej przecinkami:
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:
- Zamknij DHU.
- Aby zatrzymać i ponownie uruchomić serwer jednostki głównej, wykonaj krok 5 opisany w sekcji Uruchamianie DHU.
- Ponownie uruchom DHU.
- Przyznaj dodatkowe uprawnienia, o które aplikacja prosi na ekranie telefonu. DHU może się jeszcze raz wyłączyć.
- W razie potrzeby uruchom DHU ponownie.