데스크톱 헤드 단위를 사용하여 테스트

데스크톱 헤드 단위(DHU)를 사용하면 개발 머신에서 Android Auto 헤드 단위를 에뮬레이션할 수 있으므로 Android Auto 앱을 실행하고 테스트할 수 있습니다. DHU는 Windows, macOS, Linux 시스템에서 실행됩니다.

DHU를 설치한 후 DHU 실행에서 설명하는 지원되는 연결 방법 중 하나를 통해 휴대기기를 DHU에 연결하여 Android Auto 앱을 테스트할 수 있습니다.

DHU 관련 버그를 신고하거나 기능을 요청하려면 이 Issue Tracker를 사용하세요.

DHU 설치

다음 단계에 따라 개발 머신에 DHU를 설치하세요.

  1. 온디바이스 개발자 옵션 구성에 설명된 대로 Android 9 (API 수준 28) 이상을 실행하는 휴대기기에서 개발자 모드를 사용 설정합니다.
  2. 기기에서 앱을 컴파일하고 설치합니다.
  3. 기기에 Android Auto를 설치합니다. Android Auto가 이미 설치되어 있으면 최신 버전을 사용 중인지 확인합니다.
  4. Android 스튜디오에서 SDK Manager를 열고 SDK Tools 탭으로 이동한 다음 Android Auto Desktop Head Unit Emulator 패키지를 다운로드합니다.

DHU 2.0을 보여 주는 SDK Manager

DHU는 SDK_LOCATION/extras/google/auto/ 디렉터리에 설치됩니다.

  1. Linux 또는 macOS 시스템의 이 디렉터리에서 다음 명령어를 실행하여 DHU 바이너리가 실행 가능한지 확인합니다.

    chmod +x ./desktop-head-unit
    

Linux용 추가 단계

Linux 시스템에서 DHU 버전 2.x를 실행하는 경우 추가 라이브러리를 몇 가지 설치해야 합니다. DHU 바이너리는 GLIBC 버전 2.32 이상에 종속됩니다. 다음 명령어를 실행하여 시스템의 GLIBC 버전을 확인할 수 있습니다.

ldd --version

버전이 2.32보다 낮으면 GLIBC를 2.32 이상으로 업데이트해야 하는데 이 경우 OS를 GLIBC 2.32 이상과 호환되는 버전으로 업그레이드해야 할 수 있습니다.

libc++1libc++abi1 라이브러리도 설치해야 합니다. 설치 절차는 Linux 배포판에 따라 다릅니다. 예를 들어 Debian 계열 Linux 배포판에서는 다음 명령어를 사용하여 라이브러리를 설치할 수 있습니다.

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

DHU의 출시 전 버전 설치

DHU의 출시 전 버전에 액세스하려면 Android 스튜디오의 미리보기 버전을 사용하거나 베타 채널에 대한 기존 Android 스튜디오 설치의 업데이트 채널을 변경하면 됩니다.

DHU 실행

DHU를 설치한 후 USB로 휴대기기와 워크스테이션을 연결하여 Android Auto 앱을 테스트할 수 있습니다. 액세서리 모드(DHU 2.x에 권장) 또는 ADB 터널링을 통해 휴대기기를 개발 머신에 연결하여 DHU를 실행합니다.

액세서리 모드를 사용하여 연결

Android Auto는 다음 명령어를 사용하여 Android Open Accessory(AOA) 프로토콜로 DHU 버전 2.x에 연결하는 것을 지원합니다.

./desktop-head-unit --usb

기본적으로 DHU는 사용 가능한 USB 기기 목록을 검색하여 첫 번째 호환되는 기기에 연결하려고 시도합니다. 특정 기기를 타겟팅하려면 다음과 같이 --usb 명령어의 일부로 기기 ID를 포함합니다.

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

ADB 터널링을 사용하여 연결

이 방법을 사용하려면 Android 디버그 브리지(adb)를 통해 Android Auto 헤드 단위 서버에 연결을 설정해야 합니다. 다음 단계를 따라 터널링을 설정하고 DHU를 실행합니다.

  1. 아직 사용 설정되지 않은 경우 Android Auto 개발자 모드를 사용 설정합니다.
  2. 헤드 단위 서버가 아직 실행되고 있지 않은 경우 그림 1과 같이 더보기 메뉴를 열고 헤드 단위 서버 시작을 선택합니다.

    기기의 알림 영역에 서버가 실행 중이라고 나타내는 포그라운드 서비스가 표시됩니다(그림 2 참고).

    개발자 옵션이 있는 컨텍스트 메뉴

    그림 1. 개발자 옵션이 있는 컨텍스트 메뉴

    헤드 단위 서버가 실행 중이라는 알림

    그림 2. 헤드 단위 서버가 실행 중이라는 알림.

  3. Android Auto 앱의 설정 상단에서 이전에 연결된 자동차를 탭하고 Android Auto에 새 자동차 추가가 사용 설정되어 있는지 확인합니다.

  4. USB를 통해 휴대기기를 개발 머신에 연결합니다.

  5. 휴대기기의 화면이 잠금 해제되어 있는지 확인합니다. 해제되어 있지 않으면 DHU를 실행할 수 없습니다.

  6. 개발 머신에서 다음 adb 명령어를 실행하여 소켓 연결을 개발 머신의 포트 5277에서 Android 기기의 동일한 포트 번호로 전달합니다. 이렇게 구성하면 DHU는 TCP 소켓을 통해 휴대기기에서 실행되는 헤드 단위 서버에 연결할 수 있습니다.

    adb forward tcp:5277 tcp:5277
    
  7. SDK_LOCATION/extras/google/auto/ 디렉터리에서 명령어 desktop-head-unit.exe(Windows의 경우) 또는 ./desktop-head-unit(macOS 또는 Linux의 경우)을 실행하여 DHU를 시작합니다.

    cd SDK_LOCATION/extras/google/auto
    desktop-head-unit.exe # Windows
    ./desktop-head-unit # macOS or Linux
    

개발 머신에서 DHU 실행

  1. DHU에 휴대기기를 연결하는 것이 처음이라면 휴대기기의 화면을 확인하여 서비스 약관에 동의하고 필요에 따라 권한 설정을 조정합니다.

DHU를 시작한 후 DHU 콘솔 명령어를 사용하여 앱을 실행하고 테스트할 수 있습니다.

명령줄 옵션

기본적으로 헤드 단위 서버에서는 포트 5277을 통해 연결합니다. 호스트나 포트를 재정의하려면 다음 예와 같이 --adb=<[localhost:]port> 플래그를 사용합니다.

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

기본적으로 DHU는 터치 스크린 사용자 인터페이스를 사용하는 Android Auto 호환 헤드 단위를 에뮬레이션합니다. 마우스로 DHU를 클릭하여 사용자 터치를 시뮬레이션합니다. 입력에 로터리 컨트롤러를 사용하는 헤드 단위를 에뮬레이션하려면 다음 예와 같이 -i rotary 플래그를 사용하면 됩니다.

./desktop-head-unit -i controller

DHU가 로터리 컨트롤러 모드인 경우 단축키를 사용하여 컨트롤러 작업을 시뮬레이션할 수 있습니다. 자세한 내용은 로터리 컨트롤러 섹션을 참고하세요. DHU는 로터리 컨트롤러 모드에서 마우스 클릭을 무시합니다. 시뮬레이션된 로터리 컨트롤러 작업으로 Android Auto를 작동해야 합니다.

다음 표에는 DHU에 대한 다른 명령줄 옵션이 나와 있습니다.

옵션 설명
-c, --config=FILE 지정된 구성 .ini 파일을 사용합니다. 자세한 내용은 DHU 구성 섹션을 참고하세요.
-i, --input=INPUT 지정된 입력 모드 touch, rotary, hybrid 중 하나를 사용합니다.
-a, --adb=HOSTPORT ADB 전송(선택사항 host:port 또는 port)을 사용합니다. 기본값은 포트 5277입니다.
--usb=DEVICE_ID -a USB AOA 전송(선택사항 DEVICE_ID)을 사용합니다.
--version -v 버전 정보를 표시합니다.
-l, --licenses 오픈소스 라이선스를 표시합니다.
--headless -h 헤드리스 모드(UI 없음)에서 실행합니다.
--always_show_window_on_top -t 다른 창 위에 DHU 창을 표시합니다(기본적으로 사용 중지됨).
--help -? 도움말 목록을 표시합니다.

DHU 사용자 가이드

이 섹션에서는 DHU에서 지원하는 기능과 그 사용법을 설명합니다.

명령어는 DHU를 시작한 터미널 창에 입력됩니다. 여러 명령어를 ;으로 구분하여 같은 줄에서 실행할 수 있습니다.

시스템

명령어 설명
help [command] 전체 명령어 집합을 표시합니다. 명령어 이름이 지정된 경우 명령어에 관한 도움말이 표시됩니다.
quit
exit
Alt+Q 헤드 단위를 종료합니다.
sleep [seconds] 1초 동안 절전 모드로 전환됩니다. 지연 시간을 지정하면 그 seconds 동안 절전 모드로 전환됩니다. 예를 들어 CI 환경에서 ./desktop-head-unit < script.txt를 사용하여 헤드 단위를 스크립팅하는 데 사용할 수 있습니다.
screenshot filename.png filename.png.에 스크린샷 저장
licenses DHU에서 사용되는 라이브러리의 라이선스를 표시합니다.
keycode keycode 키 코드 섹션에 나열된 이름 중 하나인 keycode를 전송합니다.

터치 및 터치패드

터치나 터치패드가 사용 설정된 경우 디스플레이 창(터치의 경우)이나 터치패드 창(터치패드의 경우)을 클릭하면 터치 이벤트로 등록됩니다.

터치의 경우 첫 번째 손가락 위치를 마우스 오른쪽 버튼으로 클릭하고 두 번째 손가락 위치에서 오른쪽 버튼을 길게 클릭하여 멀티터치를 시뮬레이션할 수 있습니다. 두 손가락의 중심점은 고정된 채로 유지되고 마우스를 움직이면 가운데를 중심으로 손가락을 회전하거나, 안팎으로 모으거나 벌리거나, 이 두 가지 동작을 모두 할 수 있습니다.

터치패드의 경우 왼쪽 버튼을 길게 클릭하여 화면의 다양한 UI 요소 사이를 스크롤합니다. 오른쪽 버튼을 클릭하면 포커스가 있는 요소가 선택됩니다.

명령어 설명
tap x y 지정된 좌표에서 터치 이벤트를 시뮬레이션합니다.

로터리 컨트롤러

DHU는 로터리 컨트롤러를 지원합니다. 컨트롤러를 사용 설정하면 다음 작업이 지원됩니다.

  • D패드의 위, 아래, 왼쪽, 오른쪽 클릭
  • 시계 방향 및 시계 반대 방향으로 회전
  • 휙 돌리기(한 번에 5단계) 실행
  • 클릭한 다음 컨트롤러를 다시 사용

명령어와 키 바인딩은 다음 표에 나와 있습니다.

마우스의 스크롤 휠은 dpad rotate 명령어를 전송하고 가운데 마우스 버튼 클릭(일반적으로 스크롤 휠)은 dpad click 명령어를 전송합니다.

대다수 자동차에는 터치스크린이 있습니다. 로터리 컨트롤러만 있는 자동차도 있고 하이브리드 터치 및 컨트롤러가 있는 자동차도 있습니다. 자동차는 지도 화면 이동 및 텍스트 입력에 사용할 수 있는 터치패드도 지원할 수 있습니다. 여러 차량 헤드 단위를 시뮬레이션할 때는 이러한 다양한 구성에 유의하세요.

명령어 설명
dpad {up|down|left|right} 화살표 키 로터리 컨트롤러를 이동합니다.
dpad {ur|dl|ul|dr} 로터리 컨트롤러를 이동합니다.
dpad soft {left|right} Shift + 화살표 키 일부 로터리 컨트롤러에서 사용할 수 있는 사이드 버튼 누르기입니다.
dpad click Return 키 로터리 컨트롤러를 누릅니다.
dpad back 백스페이스 일부 로터리 컨트롤러에서 사용할 수 있는 뒤로 버튼 누르기입니다.
dpad rotate left 1 로터리 컨트롤러를 시계 반대 방향으로 회전합니다(왼쪽).
dpad rotate right 2 로터리 컨트롤러를 시계 방향으로 회전합니다(오른쪽).
dpad flick left Shift+1 로터리 컨트롤러를 시계 반대 방향으로 빠르게 회전합니다.
dpad flick right Shift+2 로터리 컨트롤러를 시계 방향으로 빠르게 회전합니다.
dpad 0-9*#+ 숫자 패드

마이크

DHU는 음성 입력에 마이크 사용 또는 사전 녹음된 음성 트랙 재생을 지원합니다. 편의를 위해 일반 음성 명령의 다음 사운드 파일이 DHU에 포함되어 있습니다. 이러한 사운드 파일은 SDK_LOCATION/extras/google/auto/voice/ 디렉터리에 있습니다.

파일 이름 텍스트
navhome.wav 집까지 경로 안내
navwork.wav 직장까지 경로 안내
navsoh.wav 시드니 오페라 하우스까지 경로 안내
navgoogle.wav 서울특별시 강남구 테헤란로 152까지 경로 안내
exitnav.wav 내비게이션 종료
howlong.wav 거기까지 얼마나 걸려?
showtraffic.wav 교통정보 표시
showalternateroute.wav 대체 경로 보여 줘
pause.wav 음악 일시중지
nextturn.wav 다음 회전은 언제야?

DHU 프롬프트에서 개별 .wav 파일을 실행하려면 다음 명령어를 사용하세요.

mic play /path/to/filename.wav

다음 표에는 다른 마이크 관련 명령어가 나와 있습니다.

명령어 설명
mic begin M 마이크를 활성화하고 핸들 버튼 클릭을 시뮬레이션하고 컴퓨터 마이크의 입력을 기다립니다.
mic play filename.wav 마이크를 활성화하고 지정된 WAV 파일 녹음을 재생합니다. 참고: WAV 파일이 재생되는 소리는 들리지 않지만 Android Auto의 응답은 들립니다.
mic repeat mic play와 함께 사용된 마지막 녹음을 반복합니다.
mic reject {on|off} 마이크 요청 거부를 활성화하거나 비활성화합니다. 활성화하면 모든 마이크 요청이 거부됩니다.

센서

DHU는 다음 명령어를 사용하여 차량 센서 데이터의 변경사항을 시뮬레이션할 수 있습니다. 센서 데이터를 모의 처리하여 Android Auto에 전송하려면 DHU를 시작할 때 사용된 구성 .ini 파일로 상응하는 센서를 사용 설정해야 합니다.

명령어 설명
fuel [percentage] 연료 잔량을 지정된 비율로 설정하거나 전달된 값이 없는 경우 연료 수준을 비활성화합니다.
range [km] 주행 거리를 지정된 킬로미터로 설정하거나 전달된 값이 없는 경우) 주행 거리 데이터를 비활성화합니다.
lowfuel [{on|off}] 연료 부족 경고 센서를 설정하거나 전달된 값이 없는 경우 센서를 비활성화합니다.
accel [x] [y] [z] 가속도계를 지정된 x, y, z 값(m/s^2)으로 설정하거나 전달된 매개변수가 없는 경우 가속도계 데이터를 설정 해제합니다. 필요하다면 NAN을 전달하여 선택적 매개변수를 건너뜁니다.
compass bearing [pitch] [roll] 나침반을 지정된 방위, 피치, 롤 값(도)으로 설정합니다. 필요하다면 NAN을 전달하여 선택적 매개변수를 건너뜁니다.
gyro [x] [y] [z] 자이로스코프를 지정된 x, y, z 회전 속도(rad/s)로 설정하거나 전달된 매개변수가 없는 경우 자이로스코프 데이터를 설정 해제합니다. 필요하다면 NAN을 전달하여 선택적 매개변수를 건너뜁니다.
location lat long [accuracy] [altitude] [speed] [bearing] 위치를 선택적 정확도(m), 고도(m), 속도(m/s), 방위(도)와 함께 지정된 위도와 경도 값으로 설정합니다. 필요하다면 NAN을 전달하여 선택적 매개변수를 건너뜁니다.
odometer km [current_trip_km] 주행 거리계를 선택적 현재 트립 킬로미터 값과 함께 지정된 킬로미터로 설정합니다.
speed [speed] 차량 속도를 지정된 값(m/s)으로 설정하거나 전달된 값이 없는 경우 센서를 비활성화합니다.
tollcard {insert|remove} 통행료 카드를 삽입하거나 제거합니다.
gps_satellite number_in_use [[azimuth] [elevation] [prn] [snr] [used_in_fix]] 방위각(0~360도 범위), 고도(0~90도 범위), prn(의사 난수 노이즈), snr(dB), 고정(true 또는 false)의 선택적 목록과 함께 사용 중인 값 중 특정 값으로 GPS 위성 센서를 설정합니다.
parking_brake engaged 주차 브레이크 센서를 true 또는 false로 설정합니다.
gear gear_value 기어 센서를 특정 값으로 설정합니다(예: 중립 - 0, 주행 - 100, 주차 - 101, 후진 - 102).

주간 및 야간 모드

DHU는 다음 명령어와 키 결합을 통해 주간 모드와 야간 모드 간 변경 시뮬레이션을 지원합니다.

명령어 설명
day Shift+N 주간 모드(높은 밝기, 전체 색상)를 활성화합니다.
night Ctrl+N 야간 모드(낮은 밝기, 고대비)를 활성화합니다.
daynight
nightday
N 주간 또는 야간 모드를 전환합니다.

포커스 관리

DHU는 다음 명령어를 사용하여 Android Auto에서 헤드 단위에 포커스를 두는지 시뮬레이션하는 것을 지원합니다.

명령어 설명
focus video {on|off|toggle} 헤드 단위의 동영상 포커스를 활성화 또는 비활성화합니다. 동영상 포커스를 사용 중지하면 기본 모드로 전환되는 헤드 단위를 시뮬레이션합니다.
focus audio {on|off|toggle} 헤드 단위의 오디오 포커스를 활성화 또는 비활성화합니다. 오디오 포커스를 사용 중지하면 자체 오디오 소스를 재생하는 헤드 단위를 시뮬레이션합니다.
focus nav {on|off|toggle} 헤드 단위의 탐색 포커스를 활성화 또는 비활성화합니다. 탐색 포커스를 사용 중지하면 자체 탐색 시스템을 실행하는 헤드 단위를 시뮬레이션합니다.

제한사항 및 운전 상태

DHU는 다음 명령어를 사용하여 차량 이동 시 키보드 사용 중지와 휴대전화 구성 금지와 같은 특정한 제한사항의 시뮬레이션을 지원합니다.

명령어 설명
restrict none U 모든 제한사항을 사용 중지합니다.
restrict all Shift+U 운전 시뮬레이션과 같은 모든 제한사항을 사용 설정합니다.

계기판

DHU는 계기판 에뮬레이션을 지원합니다. 이 계기판은 일반적으로 핸들 뒤에 있으며 다음 도로 이름이나 회전 화살표와 같이 다음 방향 전환 지점에 관한 정보, 거리 또는 시간과 같은 경로 안내 중 기본 정보를 표시합니다. 진행 중인 전화 통화에 대한 정보도 표시됩니다.

내비게이션 및 통화 상태 정보를 모두 표시하는 DHU의 계기판 창

이는 구성 파일의 [general] 섹션에 있는 instrumentcluster 항목을 사용하거나 각 기능을 개별적으로 제어하는 navcluster 또는 phonecluster 항목으로 사용 설정할 수 있습니다.

[general]
...
instrumentcluster = true

계기판 디스플레이

일부 차량에는 지도 타일과 같이 풍부한 시각적 정보를 표시할 수 있는 계기판 디스플레이가 있습니다. DHU 버전 2.1(현재 Android 스튜디오 베타 업데이트 채널을 사용하여 제공됨)부터 개발 머신에서 이러한 디스플레이를 에뮬레이션할 수 있습니다.

이는 계기판 [display] 섹션이 있는 구성 파일을 사용하면 됩니다. [display] 섹션은 파일의 [general] 섹션에서 구성된 기본 디스플레이와 동일한 동영상 구성 옵션을 지원합니다.

그림 3. 보조 계기판 디스플레이로 DHU를 실행할 때의 기본 화면
그림 4. 보조 계기판 디스플레이로 DHU를 실행할 때의 계기판 화면
...

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

이 구성은 기존 .ini 파일에 직접 추가하거나 DHU를 실행할 때 별도의 파일에 저장하고 여러 구성 파일을 전달하여 재사용할 수 있습니다. 구성 파일을 여러 개 사용하는 경우 지정된 값의 이후 정의가 이전 정의를 재정의합니다.

# 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

미디어 재생 상태

DHU는 미디어 재생 상태(예: 재생 중인 트랙)를 보여 주는 추가 정보 표시를 지원합니다.

재생 정보를 보여주는 DHU의 미디어 재생 상태 창

[general] 섹션의 playbackstatus 항목을 사용하여 사용 설정할 수 있습니다.

[general]
...
playbackstatus = true

키 코드

DHU는 차량에서 일반적으로 사용할 수 있는 단축키 버튼 집합을 시뮬레이션하는 일련의 기본 키 코드를 제공합니다. 예를 들어 home 키 코드를 다음과 같이 DHU 프롬프트에서 트리거할 수 있습니다.

keycode home

다음 표에는 사용 가능한 다른 키 코드가 나와 있습니다.

키 코드 설명
home 홈 화면으로 이동합니다.
back 뒤로 이동
call
endcall
전화를 걸거나 끊습니다.
search 검색을 트리거합니다.
media_play_pause
media_play
media_pause
미디어 재생 또는 일시중지
media_next
media_previous
다음 미디어 트랙이나 이전 미디어 트랙으로 이동합니다.
media 기본 미디어 앱으로 이동합니다.
navigation 기본 내비게이션 앱으로 이동합니다.
tel 기본 전화 앱으로 이동합니다.

DHU 구성

DHU는 입력 모드(터치, 로터리 컨트롤러)를 변환하고 프레임 속도, 해상도, 헤드 단위가 휴대전화에서 요청하는 DPI를 설정하는 구성 .ini 파일을 지원합니다.

구성 파일의 기본 위치는 ~/.android/headunit.ini입니다. 시스템에서 헤드 단위의 구성을 변경하려면 이 파일을 수정하면 됩니다.

-c 플래그를 사용하여 로드할 구성 파일도 지정할 수 있습니다.

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

다음 스니펫은 샘플 구성을 보여줍니다.

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

테스트할 수 있는 다양한 헤드 단위 설정을 보여주는 샘플 구성 파일은 SDK_LOCATION/extras/google/auto/config/ 폴더에서 확인할 수 있습니다. 고급 사용 사례는 다음 지원되는 설정을 참고하세요.

입력 구성

다음 표에는 입력 구성 옵션이 나와 있습니다.

이름 기본 유형 설명
inputmode default 문자열 입력 모드를 정의합니다. touch, rotary, hybrid 옵션은 터치스크린 및 로터리 지원을 활성화 및 비활성화하고 필요에 따라 기본 키 코드를 설정합니다. defaulttouchcontroller 옵션을 따릅니다.
controller false 불리언 로터리 컨트롤러 입력을 사용 설정합니다. inputmodedefault가 아니면 무시됩니다.
touch true 불리언 터치스크린을 활성화합니다. inputmodedefault가 아니면 무시됩니다.
touchpad false 불리언 터치패드를 사용 설정합니다.
touchpadnavigation false 불리언 터치패드를 UI 내비게이션에 사용하도록 설정합니다.
touchpadtapasselect false 불리언 true인 경우 터치패드를 탭하는 것이 선택 이벤트입니다.
touchpaduiabsolute false 불리언 touchpadnavigationtrue이면 터치를 절댓값으로 간주해야 하는지 또는 동작으로 간주해야 하는지 설정합니다.

동영상 구성

Android Auto는 세 가지 동영상 해상도를 지원합니다.

  • 480p(800x480, 기본값)
  • 720p(1280x720)
  • 1080p(1920x1080)

다른 가로세로 비율을 지원하기 위해 헤드 단위는 필요에 따라 레터박스(필러박스)에 여백을 지정할 수 있습니다. 예를 들어 1000x600 화면을 원하는 경우 해상도를 720p(1280x720)로, marginwidth을 280으로, marginheight를 120으로 설정합니다. 이렇게 하면 왼쪽과 오른쪽 가장자리에 모두 140px 여백이, 상단과 하단에 60px가 추가되는 효과가 있습니다.

다음 구성 예에서는 일반적인 6인치 화면(750x450)을 에뮬레이션합니다.

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

다음 구성 예는 매우 넓은 화면을 에뮬레이션합니다.

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

다음 표에는 다른 동영상 구성 옵션이 나와 있습니다.

이름 기본 유형 설명
resolution 800x480 문자열 800x480, 1280x720, 1920x1080 중 하나입니다.
dpi 160 정수
normalizedpi false 불리언 true이면 더 큰 DPI 값을 고려하여 DHU 창 크기를 줄입니다. false이면 DPI 값이 클수록 창이 더 커집니다(실제 디스플레이를 모방하지 않지만 시각적 콘텐츠를 검사할 수 있음).
realdpi 160 정수 동영상 구성에 사용됩니다.
framerate 30 정수 동영상 구성에 사용됩니다.
marginheight 0 정수 동영상 구성에 사용됩니다.
marginwidth 0 정수 동영상 구성에 사용됩니다.
margins 0,0,0,0 문자열 동영상 구성에 사용됩니다. marginwidthmarginheight가 있는 경우 이를 재정의합니다. 형식은 상단, 하단, 왼쪽, 오른쪽입니다.
contentinsets 0,0,0,0 문자열 동영상 구성에 사용됩니다. 포맷은 top, bottom, left, right입니다.
stablecontentinsets 0,0,0,0 문자열 동영상 구성에 사용됩니다. 기본값은 contentinsets입니다. 포맷은 top, bottom, left, right입니다.
cropmargins false 불리언 margins, marginheight 또는 marginwidth가 지정되면 이 설정의 true 값이 표시된 동영상에서 이러한 여백을 삭제합니다. 이는 최종 사용자가 보는 대상을 더 자세히 반영합니다.
pixelaspectratio 1.0 부동 소수점 수 동영상 구성에 사용됩니다.

센서 구성

센서 데이터를 모의 처리하여 Android Auto에 전송하려면 다음 옵션을 사용하여 상응하는 센서를 사용 설정해야 합니다. 센서가 사용 설정되지 않은 경우 DHU 명령어를 사용하여 센서에 전송된 데이터는 무시됩니다. 이 구성은 다른 대부분의 구성에 사용되는 [general] 섹션이 아닌 [sensors] 섹션에 배치해야 합니다.

[general]
touch = true
...

[sensors]
location = true
fuel = true
...
이름 기본 유형 설명
accelerometer false 불리언 가속도계 센서 데이터를 사용 설정합니다.
compass false 불리언 나침반 센서 데이터를 사용 설정합니다.
driving_status false 불리언 운전 상태 센서 데이터를 사용 설정합니다.
fuel false 불리언 연료 센서 데이터를 사용 설정합니다.
gyroscope false 불리언 자이로스코프 센서 데이터를 사용 설정합니다.
location false 불리언 차량 위치 센서 데이터를 사용 설정합니다.
night_mode false 불리언 야간 모드 센서 데이터를 사용 설정합니다.
odometer false 불리언 주행 거리계 센서 데이터를 사용 설정합니다.
speed false 불리언 속도 센서 데이터를 사용 설정합니다.
toll_card false 불리언 통행료 카드 센서 데이터를 사용 설정합니다.
gps_satellite false 불리언 GPS 위성 센서 데이터를 사용 설정합니다.
parking_brake false 불리언 주차 브레이크 센서 데이터를 사용 설정합니다.
gear false 불리언 기어 센서 데이터를 사용 설정합니다.

기타 구성 옵션

다음 표에는 다른 구성 옵션이 나와 있습니다.

이름 기본 유형 설명
instrumentcluster false 불리언 계기판을 사용 설정합니다. UI에 창을 추가하여 내비게이션 및 휴대전화 상태를 표시합니다.
navcluster false 불리언 계기판을 사용 설정합니다. UI에 창을 추가하여 내비게이션 상태를 표시합니다.
phonecluster false 불리언 계기판을 사용 설정합니다. UI에 창을 추가하여 휴대전화 상태를 표시합니다.
playbackstatus false 불리언 재생 상태를 사용 설정합니다. UI에 창을 추가하여 재생 상태 메시지를 표시합니다.
driverposition left 문자열 left, center, right 중 하나입니다.
windowleft 정수 기본 창의 왼쪽 위치를 설정합니다.
windowtop 정수 기본 창의 상단 위치를 설정합니다.
fueltypes unleaded 문자열 다음 중 하나 이상을 쉼표로 구분된 목록으로:
  • unleaded
  • leaded
  • diesel-1
  • diesel-2
  • biodiesel
  • e85
  • lpg
  • cng
  • lng
  • hydrogen
  • electric
  • other
  • unknown
evconnectors 문자열 다음 중 0개 이상을 쉼표로 구분된 목록으로:
  • j1772
  • mennekes
  • chademo
  • combo-1
  • combo-2
  • roadster
  • hpwc
  • gbt
  • supercharger
  • other
  • unknown
fueltypeselectric이 포함된 경우에만 설정됩니다.

문제 해결

최초 연결 시 DHU에 빈 화면이 표시될 때도 있습니다. 이 문제를 해결하려면 다음 단계를 따르세요.

  1. DHU를 닫습니다.
  2. DHU 실행에 설명된 5단계를 따라 헤드 단위 서버를 중지했다가 다시 시작합니다.
  3. DHU를 다시 시작합니다.
  4. 휴대전화 화면에서 요청된 추가 권한을 부여합니다. DHU가 한 번 더 종료될 수 있습니다.
  5. 필요한 경우 DHU를 다시 시작합니다.