Menguji aplikasi mobil Anda akan memastikan pengguna tidak menemukan hasil yang tidak terduga atau mendapatkan pengalaman yang buruk. Cara Anda menguji aplikasi bergantung pada apakah aplikasi Anda akan berjalan di Android Auto atau Android Automotive OS.
Lihat salah satu bagian berikut untuk memulai:
Menguji aplikasi untuk Android Auto
Desktop Head Unit (DHU) memungkinkan mesin pengembangan mengemulasi head unit Android Auto, sehingga Anda dapat menjalankan dan menguji aplikasi Android Auto. DHU berjalan pada sistem Windows, macOS, dan Linux.
Bagian ini menjelaskan cara menginstal dan menjalankan DHU di mesin pengembangan untuk menguji aplikasi Anda. Setelah menginstal DHU, Anda dapat menguji aplikasi Android Auto dengan menghubungkan perangkat seluler ke DHU melalui salah satu mekanisme koneksi yang didukung yang dijelaskan dalam Menjalankan DHU.
Untuk melaporkan bug atau meminta fitur terkait DHU, gunakan issue tracker ini.
Menginstal DHU
Versi terbaru DHU yang tersedia adalah 2.0. Versi ini mencakup fitur yang tidak tersedia di versi sebelumnya (1.1) dan merupakan versi yang direkomendasikan untuk diinstal dan digunakan. Jika mengalami masalah dengan versi 2.0, Anda dapat menginstal versi 1.1.
Menginstal DHU versi 2.0
Ikuti langkah-langkah berikut untuk menginstal DHU 2.0 di mesin pengembangan Anda:
- Aktifkan mode developer di perangkat seluler yang menjalankan Android 6.0 (API level 23) atau yang lebih tinggi, seperti yang dijelaskan dalam Mengaktifkan opsi developer di perangkat.
- Kompilasi dan instal aplikasi Anda di perangkat.
- Instal Android Auto di perangkat. Jika Android Auto sudah diinstal, pastikan Anda menggunakan versi terbaru.
- Buka Android Studio dan alihkan Android Studio untuk menggunakan saluran Beta. Jika diminta untuk mengupdate ke versi terbaru Android Studio, Anda dapat mengabaikan update.
Buka SDK Manager dan buka tab SDK Tools, lalu download versi 2.0 dari paket Android Auto Desktop Head Unit Emulator.
DHU akan terinstal di dalam direktori
SDK_LOCATION/extras/google/auto/
. Setelah download selesai, Anda dapat mengalihkan Android Studio kembali ke saluran Stabil jika tidak ingin menggunakan versi saluran Beta dari alat lainnya.Pada sistem Linux atau macOS, jalankan perintah berikut untuk memastikan biner DHU dapat dijalankan:
chmod +x ./desktop-head-unit
Langkah tambahan hanya untuk Linux
Jika menjalankan versi 2.0 di sistem Linux, Anda perlu menginstal beberapa
library tambahan. Biner DHU bergantung pada GLIBC
versi 2.32 atau lebih tinggi.
Anda dapat memeriksa versi GLIBC
sistem dengan menjalankan perintah ini:
ldd --version
Jika versi lebih rendah dari 2.32, Anda harus mengupdate GLIBC
ke versi 2.32 atau
yang lebih tinggi, atau mengupgrade versi OS ke versi yang kompatibel dengan GLIBC
2.32 atau
yang lebih tinggi.
Anda juga harus menginstal library libc++1
dan libc++abi1
. Prosedur
penginstalannya bervariasi, bergantung pada distribusi Linux Anda. Misalnya, pada distribusi Linux
yang diperoleh dari Debian, Anda dapat menginstal library dengan
perintah ini:
sudo apt-get install libc++1 libc++abi1
Menginstal DHU versi 1.1
Jika Anda mengalami masalah dengan versi 2.0, ikuti langkah-langkah berikut untuk menginstal DHU 1.1 di mesin pengembangan Anda:
- Aktifkan mode developer di perangkat seluler yang menjalankan Android 6.0 (API level 23) atau yang lebih tinggi, seperti yang dijelaskan dalam Mengaktifkan opsi developer di perangkat.
- Kompilasi dan instal aplikasi Anda di perangkat.
- Instal Android Auto di perangkat. Jika Android Auto sudah diinstal, pastikan Anda menggunakan versi terbaru.
- Buka Android Studio dan periksa apakah Android Studio menggunakan saluran Stabil.
Buka SDK Manager dan buka tab SDK Tools, lalu download versi 1.1 dari paket Android Auto Desktop Head Unit Emulator.
DHU akan terinstal di dalam direktori
SDK_LOCATION/extras/google/auto/
. Setelah download selesai, Anda dapat mengalihkan Android Studio kembali ke saluran update lainnya jika tidak ingin menggunakan versi saluran Stabil dari alat lainnya.Pada sistem Linux atau macOS, jalankan perintah berikut untuk memastikan biner DHU dapat dijalankan:
chmod +x ./desktop-head-unit
Langkah tambahan hanya untuk Linux
Jika menjalankan versi 1.1 di sistem Linux, Anda perlu menginstal beberapa
library tambahan. Instal library portaudio
, libpng
, sdl2
, dan
sdl2_ttf
. Prosedur penginstalannya bervariasi, bergantung pada distribusi
Linux Anda. Misalnya, pada distribusi Linux yang diperoleh dari Debian, Anda dapat
menginstal library dengan perintah ini:
sudo apt-get install libsdl2-2.0-0 libsdl2-ttf-2.0-0 libportaudio2 libpng12-0
Menjalankan DHU
Setelah menginstal DHU, Anda dapat menguji aplikasi Android Auto dengan menghubungkan perangkat seluler ke komputer melalui USB. Jalankan DHU dengan menghubungkan perangkat seluler ke mesin pengembangan menggunakan Mode Aksesori (direkomendasikan untuk DHU 2.0), atau Tunneling ADB.
Menghubungkan menggunakan Mode Aksesori (khusus DHU 2.0)
Android Auto mendukung koneksi ke DHU dengan protokol Android Open Accessory (AOA), menggunakan perintah berikut:
./desktop-head-unit --usb
Secara default, DHU akan memindai daftar perangkat USB yang tersedia dan mencoba
menghubungkan ke perangkat USB pertama yang kompatibel. Untuk menargetkan perangkat tertentu, sertakan
ID perangkat sebagai bagian dari perintah --usb
, seperti berikut:
./desktop-head-unit --usb=[DEVICE_ID]
Menghubungkan menggunakan Tunneling ADB
Metode ini memerlukan penyiapan koneksi ke server head unit Android Auto melalui Android Debug Bridge (ADB). Ikuti langkah-langkah berikut untuk menyiapkan tunneling dan menjalankan DHU.
Lakukan salah satu tindakan berikut untuk membuka setelan Android Auto, bergantung pada versi Android yang berjalan di perangkat:
- Android 10 atau yang lebih tinggi: Di perangkat, ketuk Setelan > Aplikasi & notifikasi > Lihat semua aplikasi > Android Auto > Lanjutan > Setelan tambahan di aplikasi.
- Android 9 atau lebih rendah: Di aplikasi Android Auto, ketuk Menu, lalu ketuk Setelan.
Scroll ke bagian Tentang di dekat bagian bawah, lalu ketuk Versi untuk menampilkan semua informasi versi dan izin.
Ketuk bagian Info versi dan izin 10 kali.
Dialog Izinkan setelan pengembangan akan ditampilkan.
Ketuk Oke.
Mode developer sekarang diaktifkan dan Anda dapat mengakses opsi developer di menu tambahan. Anda hanya perlu mengaktifkan mode developer saat pertama kali menjalankan aplikasi Android Auto.
Jika server head unit belum berjalan, ketuk tiga titik di kanan atas layar untuk membuka menu tambahan, lalu pilih Mulai server head unit (lihat gambar 1).
Pada perangkat, layanan latar depan muncul di area notifikasi yang menunjukkan bahwa server sedang berjalan (lihat gambar 2).
Gambar 1. Menu konteks dengan opsi developer.
Gambar 2. Notifikasi bahwa server head unit sedang berjalan
Pada aplikasi Android Auto, ketuk Mobil yang terhubung sebelumnya di dekat bagian atas Setelan, dan pastikan Tambahkan mobil baru ke Android Auto diaktifkan.
Hubungkan perangkat seluler ke mesin pengembangan melalui USB.
Pastikan layar perangkat seluler tidak terkunci; DHU tidak akan berjalan jika layar perangkat terkunci.
Di mesin pengembangan, jalankan perintah
adb
berikut untuk meneruskan koneksi soket dari port 5277 mesin pengembangan ke nomor port yang sama di perangkat Android. Konfigurasi ini memungkinkan DHU untuk terhubung ke server head unit yang berjalan di ponsel Anda melalui soket TCP.adb forward tcp:5277 tcp:5277
Mulai DHU dengan menjalankan perintah
desktop-head-unit.exe
(di Windows) atau./desktop-head-unit
(di macOS atau Linux) dari direktoriSDK_LOCATION/extras/google/auto/
.cd SDK_LOCATION/extras/google/auto
desktop-head-unit.exe # Windows
./desktop-head-unit # macOS or Linux
Jika ini adalah pertama kalinya Anda menghubungkan perangkat seluler ke DHU, periksa layar perangkat seluler untuk menyetujui persyaratan layanan dan sesuaikan setelan izin sesuai kebutuhan.
Setelah DHU dimulai, Anda dapat menggunakan perintah konsol DHU untuk menjalankan dan menguji aplikasi.
Opsi command line
Secara default, server head unit terhubung melalui port 5277. Untuk mengganti host
atau port (misalnya, untuk meneruskan melalui SSH), gunakan tanda --adb=<[localhost:]port>
,
seperti contoh berikut:
./desktop-head-unit --adb=5999
Secara default, DHU mengemulasikan head unit yang kompatibel dengan Android Auto dengan
antarmuka pengguna layar sentuh. Anda dapat menyimulasikan sentuhan pengguna dengan mengklik DHU
menggunakan mouse. Untuk mengemulasi head unit yang menggunakan rotary controller sebagai input, Anda dapat
menggunakan tanda -i controller
, seperti dalam contoh berikut:
./desktop-head-unit -i controller
Jika DHU berada dalam mode rotary controller, Anda dapat menggunakan pintasan keyboard untuk menyimulasikan operasi pengontrol. Lihat Rotary Controller untuk detail selengkapnya. Dalam mode rotary controller, DHU mengabaikan klik mouse; Anda harus mengoperasikan Android Auto dengan operasi rotary controller yang disimulasikan.
Rangkaian lengkap opsi command line yang didukung DHU bervariasi bergantung pada apakah Anda menggunakan versi 2.0 atau 1.1.
Versi 2.0
Opsi | Deskripsi |
---|---|
c , --config=FILE |
Menggunakan file .ini konfigurasi yang ditentukan. Baca bagian
Mengonfigurasi DHU untuk mengetahui
detail lebih lanjut. |
i , --input=INPUT |
Menggunakan mode input yang ditentukan, yaitu salah satu dari: touch ,
rotary , atau hybrid . |
-a , --adb=HOSTPORT |
Menggunakan transport ADB (opsional host:port
atau port ). Setelan defaultnya adalah port 5277. |
-a , --usb=DEVICE_ID |
Gunakan transport USB (AOA) (DEVICE_ID opsional). |
v , --version |
Menampilkan informasi versi. |
l , --licenses |
Menampilkan lisensi open source. |
h , --headless |
Menjalankan dalam mode headless (tanpa UI). |
? , --help |
Menampilkan listingan bantuan ini. |
Versi 1.1
Opsi | Deskripsi |
---|---|
i , --input=INPUT |
Menggunakan mode input yang ditentukan, yaitu salah satu dari: touch atau
rotary . |
-a , --adb=HOSTPORT |
Menggunakan transport ADB (opsional host:port
atau port ). Setelan defaultnya adalah port 5277. |
v , --version |
Menampilkan informasi versi. |
l , --licenses |
Menampilkan lisensi open source. |
h , --headless |
Menjalankan dalam mode headless (tanpa UI). |
Panduan Pengguna DHU (2.0)
Bagian ini menjelaskan fitur-fitur yang didukung oleh DHU versi 2.0 dan cara menggunakannya.
Perintah dimasukkan di jendela terminal tempat Anda memulai DHU. Beberapa
perintah dapat dijalankan pada baris yang sama dengan memisahkannya menggunakan ;
.
Sistem
Perintah | Kunci | Deskripsi |
---|---|---|
help [command] |
Menampilkan set perintah lengkap. Jika nama perintah ditentukan (misalnya,
help day ), menunjukkan bantuan untuk perintah tersebut. |
|
quit exit |
Alt+Q | Keluar dari head unit. |
sleep [seconds] |
Tidur selama satu detik. Jika penundaan ditentukan, akan tidur selama jumlah
seconds . Ini dapat digunakan untuk membuat skrip head unit
(./desktop-head-unit < script.txt ), misalnya di lingkungan
CI. |
|
screenshot filename.png
|
Menyimpan screenshot ke filename.png. .
|
|
licenses |
Menampilkan lisensi library yang digunakan di DHU. | |
keycode keycode
|
Mengirim keycode, salah satu nama yang tercantum di bagian Kode Kunci. |
Sentuhan dan Touchpad
Saat sentuhan atau touchpad diaktifkan, mengklik jendela tampilan (untuk sentuh) atau jendela touchpad (untuk touchpad) akan terdaftar sebagai peristiwa sentuh.
Untuk sentuhan, Anda dapat menyimulasikan multisentuh dengan mengklik kanan lokasi jari pertama, lalu mengklik lama tombol kanan untuk jari kedua. Titik tengah dari dua jari tetap di tempat dan menggerakkan mouse akan memungkinkan Anda memutarnya atau mencubit ke luar dan ke dalam (atau keduanya).
Untuk touchpad, klik lama tombol kiri untuk men-scroll di antara berbagai elemen UI di layar. Mengklik tombol kanan akan memilih elemen yang saat ini memiliki fokus.
Perintah | Kunci | Deskripsi |
---|---|---|
tap x y
|
Menyimulasikan peristiwa sentuh pada koordinat yang ditentukan. |
Rotary Controller
DHU memiliki dukungan rotary controller. Saat diaktifkan, tindakan berikut ini akan didukung:
- Atas, bawah, kiri, dan kanan pada Dpad
- Memutar searah jarum jam dan berlawanan arah jarum jam
- Melakukan putar pergelangan rotasi (5 langkah sekaligus)
- Mengklik pengontrol dan kembali ke pengontrol
Perintah dan binding tombol tercantum di bawah ini.
Roda scroll pada mouse akan mengirimkan perintah dpad rotate
, dan klik tombol tengah
mouse (biasanya roda scroll) akan mengirimkan perintah dpad click
.
Perhatikan bahwa sebagian besar mobil memiliki layar sentuh. Beberapa mobil hanya memiliki rotary controller, dan beberapa memiliki campuran sentuhan dan pengontrol. Mobil juga dapat mendukung touchpad yang dapat digunakan untuk menggeser peta dan entri teks. Ingat konfigurasi yang berbeda ini saat menyimulasikan head unit kendaraan yang berbeda.
Perintah | Kunci | Deskripsi |
---|---|---|
dpad {up|down|left|right} |
Tombol panah | Gerakan rotary controller. |
dpad {ur|dl|ul|dr} |
Gerakan rotary controller. | |
dpad soft {left|right} |
Shift + Tombol panah | Tombol samping tersedia di beberapa rotary controller. |
dpad click |
Kembali | Menekan rotary controller. |
dpad back |
Backspace | Tombol Kembali tersedia di bawah beberapa rotary controller. |
dpad rotate left |
1 | Gerakan rotary controller ke kiri (berlawanan arah jarum jam). |
dpad rotate right |
2 | Gerakan rotary controller ke kanan (searah jarum jam). |
dpad flick left |
Shift+1 | Pemutaran cepat rotary controller berlawanan arah jarum jam. |
dpad flick right |
Shift+2 | Pemutaran cepat rotary controller searah jarum jam. |
dpad 0-9*#+ |
Num pad |
Mikrofon
DHU mendukung penggunaan mikrofon untuk input suara atau pemutaran trek suara
yang telah direkam sebelumnya. Demi kenyamanan Anda, kami menyediakan file suara berikut
untuk perintah suara yang umum digunakan. File suara ini terinstal di
direktori SDK_LOCATION/extras/google/auto/voice/
.
Nama file | Teks |
---|---|
navhome.wav |
Tunjukkan jalan ke rumah. |
navwork.wav |
Tunjukkan jalan ke kantor. |
navsoh.wav |
Tunjukkan jalan ke Sydney Opera House. |
navgoogle.wav |
Tunjukkan jalan ke 1600 Amphitheatre Parkway, California, AS. |
exitnav.wav |
Keluar navigasi. |
howlong.wav |
Berapa lama sampai saya tiba di sana? |
showtraffic.wav |
Tampilkan lalu lintas. |
showalternateroute.wav |
Tunjukkan rute alternatif. |
pause.wav |
Jeda musik |
nextturn.wav |
Kapan belokan berikutnya? |
Untuk menjalankan file .wav
individual di permintaan DHU:
mic play /path/to/filename.wav
Perintah | Kunci | Deskripsi |
---|---|---|
mic begin |
M | Mengaktifkan mikrofon (setara dengan mengklik tombol setir) dan menunggu input dari mikrofon komputer. |
mic play filename.wav
|
Mengaktifkan mikrofon dan memutar rekaman file WAV yang ditentukan. Catatan: Anda tidak akan mendengar file WAV diputar, tetapi akan mendengar respons dari Android Auto. | |
mic repeat |
Mengulangi rekaman terakhir yang digunakan dengan mic play . |
|
mic reject {on|off} |
Mengaktifkan atau menonaktifkan penolakan permintaan mikrofon. Jika aktif, semua permintaan mikrofon akan ditolak. |
Sensor
DHU mendukung simulasi perubahan data sensor kendaraan dengan
perintah berikut. Untuk meniru data sensor dan mengirimkannya ke Android Auto,
sensor yang sesuai harus diaktifkan dengan file konfigurasi
.ini
saat memulai DHU.
Perintah | Deskripsi |
---|---|
fuel [percentage] |
Menyetel tingkat bahan bakar ke persentase yang ditentukan, atau tidak meneruskan nilai untuk menonaktifkan tingkat bahan bakar. |
range [km] |
Menyetel jarak ke kilometer yang ditentukan, atau tidak meneruskan nilai untuk menonaktifkan data jarak. |
lowfuel [{on|off}] |
Menyetel sensor peringatan bahan bakar rendah atau tidak meneruskan nilai untuk menonaktifkan sensor. |
accel [x] [y] [z] |
Menyetel akselerometer ke nilai x, y, dan z yang ditentukan (m/s^2), atau tidak meneruskan parameter untuk membatalkan penyetelan data akselerometer. Meneruskan NAN agar melewati parameter opsional jika diperlukan. |
compass bearing [pitch] [roll] |
Menyetel kompas ke nilai bantalan, pitch, dan body roll (derajat). Meneruskan NAN agar melewati parameter opsional jika diperlukan. |
gyro [x] [y] [z] |
Menyetel giroskop ke kecepatan rotasi x, y, dan z yang ditentukan (rad/dtk), atau tidak meneruskan parameter untuk membatalkan penyetelan data giroskop. Meneruskan NAN agar melewati parameter opsional jika diperlukan. |
location lat long [accuracy] [altitude] [speed] [bearing] |
Menyetel lokasi ke nilai lintang dan bujur yang ditentukan beserta akurasi opsional (m), ketinggian (m), kecepatan (m/d), dan bantalan (derajat). Meneruskan NAN agar melewati parameter opsional jika diperlukan. |
odometer km [current_trip_km] |
Menyetel odometer ke kilometer yang ditentukan beserta nilai perjalanan opsional saat ini dalam km. |
speed [speed] |
Menyetel kecepatan kendaraan ke nilai yang ditentukan (m/d), atau tidak meneruskan nilai untuk menonaktifkan sensor. |
tollcard {insert|remove} |
Menunjukkan apakah kartu tol dimasukkan atau tidak. |
Mode Siang/Malam
DHU mendukung simulasi perubahan antara mode siang dan malam dengan perintah dan binding tombol berikut.
Perintah | Kunci | Deskripsi |
---|---|---|
day |
Shift+N | Mengaktifkan mode siang (kecerahan tinggi, warna penuh). |
night |
Ctrl+N | Mengaktifkan mode malam (kecerahan rendah, kontras tinggi). |
daynight nightday |
N | Mengalihkan mode siang atau malam saat ini. |
Pengelolaan Fokus
DHU mendukung simulasi apakah Android Auto memiliki fokus pada head unit dengan perintah berikut.
Perintah | Deskripsi |
---|---|
focus video {on|off|toggle} |
Mengaktifkan atau menonaktifkan apakah Android Auto memiliki fokus video di head unit. Menonaktifkan fokus video akan menyimulasikan head unit yang beralih ke mode native. |
focus audio {on|off|toggle} |
Mengaktifkan atau menonaktifkan apakah Android Auto memiliki fokus audio di head unit. Menonaktifkan fokus audio akan menyimulasikan head unit yang memutar sumber audionya sendiri. |
focus nav {on|off|toggle} |
Mengaktifkan atau menonaktifkan apakah Android Auto memiliki fokus navigasi di head unit. Menonaktifkan fokus navigasi akan menyimulasikan head unit yang menjalankan sistem navigasinya sendiri. |
Status Batasan/Mengemudi
DHU mendukung simulasi pembatasan tertentu saat kendaraan bergerak, seperti menonaktifkan keyboard dan melarang konfigurasi ponsel.
Perintah | Kunci | Deskripsi |
---|---|---|
restrict none |
U | Menonaktifkan semua pembatasan. |
restrict all |
Shift+U | Mengaktifkan semua batasan (misalnya, untuk menyimulasikan mengemudi). |
Cluster Instrumen
DHU mendukung emulasi cluster instrumen (biasanya terletak di belakang kemudi) yang menunjukkan info dasar selama navigasi tentang belokan berikutnya (seperti nama jalan, jarak/waktu, atau panah belokan) dan informasi tentang panggilan telepon yang sedang berlangsung.
Ini dapat diaktifkan menggunakan entri instrumentcluster
dalam file
konfigurasi, atau dengan entri navcluster
atau phonecluster
untuk mengontrol setiap fitur
secara terpisah.
Status Pemutaran Media
DHU mendukung tampilan informasi tambahan untuk menampilkan status pemutaran media, misalnya, lagu apa yang sedang diputar.
Ini dapat diaktifkan menggunakan entri playbackstatus
dalam file konfigurasi.
Kode tombol
DHU menyediakan sekumpulan kode tombol default yang menyimulasikan rangkaian tombol
pintasan yang biasanya tersedia di berbagai kendaraan. Misalnya, kode tombol
home
dapat dipicu dalam permintaan DHU sebagai berikut:
keycode home
Kode tombol | Deskripsi |
---|---|
home |
Membuka layar utama. |
back |
Kembali. |
call |
Melakukan atau mengakhiri panggilan. |
search |
Memicu penelusuran. |
media_play_pause media_play media_pause |
Memutar atau menjeda media. |
media_next media_previous |
Membuka trek media berikutnya atau sebelumnya. |
media |
Membuka aplikasi media default. |
navigation |
Membuka aplikasi navigasi default. |
tel |
Membuka aplikasi telepon default. |
Mengonfigurasi DHU
DHU mendukung file .ini
konfigurasi untuk mengubah mode input yang tersedia
(sentuhan, pengontrol), kecepatan frame, resolusi, dan DPI yang diminta head unit
dari ponsel.
Lokasi default untuk file konfigurasi adalah ~/.android/headunit.ini
. Jika
ingin mengubah konfigurasi head unit di sistem, Anda dapat
mengubah file ini.
Anda juga dapat menentukan file konfigurasi untuk dimuat menggunakan tanda -c
.
./desktop-head-unit -c /path/to/config.ini
Contoh konfigurasi
[general]
touch = true
touchpad = false
controller = false
instrumentcluster = false
resolution = 800x480
dpi = 160
framerate = 30
fueltypes = unleaded,electric,hydrogen
evconnectors = supercharger
Contoh file konfigurasi dapat ditemukan di bagian
folder SDK_LOCATION/extras/google/auto/config/
untuk
menunjukkan berbagai setelan head unit yang dapat Anda uji. Untuk kasus penggunaan
lanjutan lainnya, lihat setelan yang didukung di bawah.
Konfigurasi Input
Nama | Default | Jenis | Deskripsi |
---|---|---|---|
inputmode |
default |
String | Menentukan mode input. Opsi touch , rotary , hybrid mengaktifkan dan menonaktifkan dukungan layar sentuh dan putar, serta menyetel kode tombol default yang sesuai, sementara default menangguhkan opsi touch dan controller di bawah. |
controller |
false |
Boolean | Mengaktifkan input rotary controller. Diabaikan kecuali inputmode adalah default . |
touch |
true |
Boolean | Mengaktifkan layar sentuh. Diabaikan kecuali inputmode adalah default . |
touchpad |
false |
Boolean | Mengaktifkan touchpad. |
touchpadnavigation |
false |
Boolean | Memungkinkan touchpad digunakan untuk navigasi UI. |
touchpadtapasselect |
false |
Boolean | Jika benar, ketukan di touchpad adalah peristiwa tertentu. |
touchpaduiabsolute |
false |
Boolean | Jika touchpadnavigation adalah true , ini akan
menyetel apakah sentuhan harus diperlakukan sebagai absolut atau sebagai gestur. |
Konfigurasi Video
Android Auto mendukung tiga resolusi video:
- 480p (800x480 -- default)
- 720p (1280x720)
- 1080p (1920x1080)
Untuk mendukung rasio aspek yang berbeda selain yang di atas, head unit dapat menentukan margin untuk tampilan lebar/tampilan tinggi sesuai kebutuhan. Misalnya, jika Anda menginginkan layar 1000x600, Anda akan menyetel resolusi ke 720p (1280x720) dengan lebar margin 280 dan tinggi margin 120. Ini memiliki efek menambahkan margin 140 px di tepi kiri dan kanan, serta 60 px di bagian atas dan bawah.
Contoh konfigurasi untuk mengemulasikan layar standar 6 inci (750x450):
[general]
...
resolution = 800x480
marginwidth = 50
marginheight = 30
Dan layar yang sangat lebar:
[general]
...
resolution = 1280x720
marginwidth = 0
marginheight = 220
Nama | Default | Jenis | Deskripsi |
---|---|---|---|
resolution |
800x480 |
String | Salah satu dari: 800x480 , 1280x720 ,
1920x1080 . |
dpi |
160 |
Bilangan Bulat | |
normalizedpi |
false |
Boolean | Saat true , kurangi ukuran jendela DHU untuk memperhitungkan nilai DPI
yang lebih besar. Saat false , nilai DPI yang lebih besar menghasilkan jendela
yang lebih besar (yang tidak meniru tampilan yang sebenarnya, tetapi memungkinkan pemeriksaan
konten visual yang lebih mudah). |
realdpi |
160 |
Bilangan Bulat | Digunakan dalam konfigurasi video. |
framerate |
30 |
Bilangan Bulat | Digunakan dalam Konfigurasi video. |
marginheight |
0 |
Bilangan Bulat | Digunakan dalam konfigurasi video. |
marginwidth |
0 |
Bilangan Bulat | Digunakan dalam konfigurasi video. |
margins |
0,0,0,0 |
String | Digunakan dalam konfigurasi video, mengganti marginwidth dan
marginheight jika ada. Formatnya adalah atas, bawah, kiri,
kanan. |
contentinsets |
0,0,0,0 |
String | Digunakan dalam konfigurasi video. Formatnya adalah atas, bawah, kiri, kanan. |
stablecontentinsets |
0,0,0,0 |
String | Digunakan dalam konfigurasi video. Default-nya adalah nilai
contentinsets . Formatnya adalah atas, bawah, kiri, kanan. |
cropmargins |
false |
Boolean | Jika margins , marginheight , atau
marginwidth ditentukan, nilai true untuk setelan ini
akan menghapus margin tersebut dari video yang ditampilkan. Ini mencerminkan lebih
dekat apa yang dilihat pengguna akhir. |
pixelaspectratio |
1.0 |
Float | Digunakan dalam konfigurasi video. |
Konfigurasi Sensor
Untuk meniru data sensor dan mengirimkannya ke Android Auto, sensor yang sesuai harus diaktifkan menggunakan opsi berikut. Jika sensor dinonaktifkan, data apa pun yang dikirim untuk sensor tersebut menggunakan perintah DHU akan diabaikan.
Nama | Default | Jenis | Deskripsi |
---|---|---|---|
accelerometer |
false |
Boolean | Mengaktifkan data sensor akselerometer. |
compass |
false |
Boolean | Mengaktifkan data sensor kompas. |
driving_status |
false |
Boolean | Mengaktifkan data sensor status mengemudi. |
fuel |
false |
Boolean | Mengaktifkan data sensor bahan bakar. |
gyroscope |
false |
Boolean | Mengaktifkan data sensor giroskop. |
location |
false |
Boolean | Mengaktifkan data sensor lokasi kendaraan. |
night_mode |
false |
Boolean | Mengaktifkan data sensor mode malam. |
odometer |
false |
Boolean | Mengaktifkan data sensor odometer. |
speed |
false |
Boolean | Mengaktifkan data sensor kecepatan. |
toll_card |
false |
Boolean | Mengaktifkan data sensor kartu tol. |
Lain-Lain
Nama | Default | Jenis | Deskripsi |
---|---|---|---|
instrumentcluster |
false |
Boolean | Mengaktifkan cluster instrumen. Menambahkan jendela ke UI untuk menampilkan navigasi dan status ponsel. |
navcluster |
false |
Boolean | Mengaktifkan cluster instrumen. Menambahkan jendela ke UI untuk menampilkan status navigasi. |
phonecluster |
false |
Boolean | Mengaktifkan cluster instrumen. Menambahkan jendela ke UI untuk menampilkan status ponsel. |
playbackstatus |
false |
Boolean | Mengaktifkan status pemutaran. Menambahkan jendela ke UI untuk menampilkan pesan status pemutaran. |
driverposition |
left |
String | Salah satu dari left , center , atau
right |
windowleft |
|
Bilangan Bulat | Menyetel posisi kiri jendela utama. |
windowtop |
|
Bilangan Bulat | Menyetel posisi teratas jendela utama. |
fueltypes |
unleaded |
String | Satu atau beberapa (dipisahkan oleh ,):
|
evconnectors |
|
String | Nol atau beberapa (dipisahkan oleh ,):
fueltypes berisi electric .
|
Panduan Pengguna DHU (1.1)
Perintah DHU memungkinkan Anda menguji aplikasi dengan fitur Android Auto, seperti memutar input suara atau beralih antara mode tampilan malam dan siang. Anda dapat memberikan perintah ke DHU dari jendela terminal tempat Anda meluncurkannya. Anda juga dapat memberikan perintah dengan memilih jendela DHU dan menggunakan pintasan keyboard. Perintah dan binding tombol DHU untuk semua kontrol tercantum dalam Perintah dan binding tombol DHU.
Beralih antara mode siang dan malam
Android Auto mendukung skema warna berbeda untuk siang dan malam. Anda harus menguji aplikasi Anda baik dalam mode siang maupun malam. Anda dapat beralih antara mode malam dan siang menggunakan salah satu cara berikut:
-
Jalankan perintah
daynight
di terminal tempat Anda meluncurkan DHU. - Pilih jendela DHU, lalu tekan tombol N.
Pengujian mikrofon
DHU mendukung penggunaan mikrofon untuk input suara. Anda juga dapat menginstruksikan DHU agar memperlakukan track suara yang direkam sebelumnya sebagai input, seolah-olah DHU pernah mendengar track itu melalui mikrofon.
Untuk menggunakan file suara yang direkam sebelumnya sebagai input, masukkan perintah berikut:
mic play <sound_file_path>/<sound_file>.wav
Demi kenyamanan Anda, kami menyediakan file suara berikut untuk perintah suara yang
umum digunakan. File suara ini terinstal di
direktori <sdk>/extras/google/auto/voice/
.
Nama file | Teks |
---|---|
navhome.wav | Tunjukkan jalan ke rumah. |
navwork.wav | Tunjukkan jalan ke kantor. |
navsoh.wav | Tunjukkan jalan ke Sydney Opera House. |
navgoogle.wav | Tunjukkan jalan ke 1600 Amphitheatre Parkway, California, AS. |
exitnav.wav | Keluar navigasi. |
howlong.wav | Berapa lama sampai saya tiba di sana? |
showtraffic.wav | Tampilkan lalu lintas. |
showalternateroute.wav | Tunjukkan rute alternatif. |
pause.wav | Jeda musik |
nextturn.wav | Kapan belokan berikutnya? |
Perintah dan binding tombol DHU
DHU mendukung perintah berikut.
Tabel 1. Perintah dan binding tombol
Kategori | Perintah | Subperintah | Argumen | Pintasan Keyboard | Deskripsi |
---|---|---|---|---|---|
Sistem | help | [perintah] |
Menunjukkan set perintah lengkap. Menetapkan nama perintah (misalnya,
help day ) akan menyebabkan sistem menampilkan bantuan untuk perintah itu.
|
||
quit | Alt+q | Keluar dari head unit. | |||
sleep | [detik] |
Tidur selama satu detik. Menentukan argumen (misalnya, sleep
30 ) akan menyebabkan sistem tidur selama jumlah detik tertentu.
Perintah ini berguna jika Anda menulis skrip untuk DHU. (Anda dapat
menjalankan skrip menggunakan pengalihan I/O dari command line:
./desktop-head-unit < script.txt yang memuat perintah dari
file script.txt .)
|
|||
screenshot | namafile.png |
Menyimpan screenshot ke filename.png .
|
|||
Mikrofon | mic | begin | m | Mengaktifkan mikrofon (sama dengan menekan tombol mikrofon pada setir) dan menunggu input dari mikrofon komputer. | |
play | namafile.wav |
Menyebabkan DHU memperlakukan filename.wav sebagai input suara, seolah-olah
suara tersebut disampaikan melalui mikrofon. Anda tidak mendengar file
suara diputar, tetapi Anda mendengar respons dari Android Auto.
|
|||
repeat |
Mengulang perintah mic play terakhir, seolah-olah Anda telah memanggil
mic play lagi dengan parameter file suara yang sama.
|
||||
Input | dpad | atas bawah kiri kanan |
Tombol panah | Menyimulasikan gerakan rotary controller. | |
tombol sentuh kiri tombol sentuh kanan |
Shift+Tombol panah | Menyimulasikan penekanan tombol samping yang tersedia di beberapa rotary controller. | |||
click | Return | Menyimulasikan penekanan rotary controller. | |||
back | Backspace | Menyimulasikan penekanan tombol back yang ada di bagian bawah beberapa rotary controller. | |||
putar ke kiri putar ke kanan |
1 2 |
Menyimulasikan pemutaran rotary controller ke kiri (berlawanan arah jarum jam) atau ke kanan (searah jarum jam). | |||
putar cepat ke kiri putar cepat ke kanan |
Shift+1 Shift+2 |
Menyimulasikan pemutaran cepat rotary controller ke kiri (berlawanan arah jarum jam) atau ke kanan (searah jarum jam). | |||
tap | x y |
Menyimulasikan peristiwa sentuh pada koordinat yang ditentukan. Misalnya,
tap 50 100
|
|||
Siang/Malam | day | Shift+N | Mengaktifkan mode siang (kecerahan tinggi, warna penuh). | ||
night | Control+N | Mengaktifkan mode malam (kecerahan rendah, kontras tinggi). | |||
daynight | n | Mengalihkan mode siang/malam saat ini. |
Pemecahan masalah
DHU yang menampilkan layar kosong saat pertama kali terhubung
Ini adalah masalah umum dan kami sedang berupaya mengatasinya. Anda dapat mengatasi masalah ini dengan melakukan hal berikut:
- Tutup DHU.
- Ikuti Langkah 5 yang dijelaskan di Menjalankan DHU untuk menghentikan dan memulai ulang Server Head Unit.
- Mulai DHU lagi.
- Mungkin ada langkah pemberian izin tambahan di layar ponsel. Selesaikan langkah-langkah tersebut dan DHU mungkin akan ditutup sekali lagi.
- Mulai ulang DHU.
Menguji aplikasi untuk Android Automotive OS
Anda dapat menggunakan Android Emulator untuk menguji bagaimana aplikasi Anda yang dioptimalkan untuk pengemudi berjalan di layar kendaraan Android Automotive OS. Bagian ini menjelaskan cara menyiapkan Perangkat Virtual Android (AVD) untuk menguji aplikasi Anda.
Mengedit konfigurasi eksekusi untuk aplikasi media
Aplikasi media di aplikasi Automotive OS berbeda dengan aplikasi Android lainnya. Android Automotive OS berinteraksi dengan aplikasi media Anda menggunakan intent eksplisit dan dengan mengirim panggilan ke layanan browser media.
Untuk menguji aplikasi Anda, verifikasi bahwa aplikasi Anda tidak memiliki aktivitas peluncuran dalam manifesnya, lalu cegah modul otomotif Anda diluncurkan bersama suatu aktivitas dengan mengikuti langkah-langkah berikut:
Di Android Studio, pili Run > Edit Configurations.
Pilih modul otomotif Anda dari daftar modul pada aplikasi Anda.
Di bagian Launch Options > Launch, pilih Nothing.
Klik Apply, lalu klik OK.
Menambahkan image sistem
Agar dapat membuat AVD yang cocok dengan hardware produsen tertentu, Anda perlu menambahkan image sistem untuk perangkat tersebut melalui Android Studio SDK Manager. Selanjutnya, saat membuat AVD, Anda dapat mendownload image sistem ini untuk digunakan dengan AVD.
Menambahkan image sistem dari produsen mobil
Saat ini, Anda dapat menambahkan image sistem khusus OEM untuk Polestar 2 & Volvo. Ikuti langkah-langkah berikut untuk menambahkan image sistem:
- Di Android Studio, pilih Tools > SDK Manager
- Klik tab SDK Update Sites.
- Klik Add
.
Masukkan Name dan URL berikut, lalu klik OK:
Name: Polestar 2 System Image
URL:
https://developer.polestar.com/sdk/polestar2-sys-img.xml
Nama: Image Sistem Volvo
URL:
https://developer.volvocars.com/sdk/volvo-sys-img.xml
Klik Apply, lalu klik OK.
Menginstal generic system image
Android Studio juga menyertakan generic system image untuk Android Automotive OS yang juga dapat digunakan untuk menguji aplikasi Anda. Generic system image ini disertai Asisten Google agar Anda dapat menguji integrasi aplikasi.
Ikuti langkah-langkah berikut untuk menginstal generic system image:
- Di Android Studio, pilih Tools > SDK Manager
- Klik tab SDK Platforms.
- Klik Show Package Details.
- Pada Android 9.0 (Pie), pilih Automotive Intel x86 Atom System Image.
Klik Apply, lalu klik OK.
Membuat AVD mobil dan menjalankan emulator
Ikuti langkah-langkah berikut untuk membuat Android Virtual Device (AVD) yang merepresentasikan kendaraan Android Automotive OS, lalu gunakan AVD tersebut untuk menjalankan emulator:
- Di Android Studio, pilih Tools > AVD Manager.
- Klik Create Virtual Device.
- Dari dialog Select Hardware, pilih Automotive, lalu pilih sebuah perangkat dan klik Next.
- Pilih image sistem yang menargetkan Automotive, seperti Android 9.0 (Automotive), lalu klik Next.
- Beri nama AVD Anda dan pilih opsi lain yang ingin Anda sesuaikan, lalu klik Finish.
- Dari kolom jendela alat, pilih AVD Android Automotive OS sebagai target deployment Anda.
- Klik Run
.
Menguji aplikasi untuk layar ponsel
Ikuti langkah-langkah di bawah untuk melakukan sideload aplikasi ke ponsel dan menjalankan pengujian.
Langkah 1. Pada aplikasi Android Auto, aktifkan Mode developer dan sumber tidak dikenal
- Instal aplikasi Android Auto (tersedia di Google Play) di ponsel Anda. Jika Android Auto sudah diinstal, pastikan Anda menggunakan versi terbaru.
- Pada aplikasi Android Auto, ketuk menu Hamburger, lalu ketuk Setelan.
- Scroll ke bagian Tentang di dekat bagian bawah, lalu ketuk Versi untuk menampilkan semua informasi versi dan izin.
- Ketuk bagian Info versi dan izin 10 kali.
Dialog Izinkan setelan pengembangan akan ditampilkan.
- Ketuk Oke.
- Ketuk tiga titik di kanan atas layar untuk membuka menu tambahan, lalu ketuk Developer Settings.
- Ketuk Application Mode dan pilih
Developer.
Aplikasi akan kembali ke daftar setelan developer.
- Scroll ke bawah sampai Anda melihat Unknown sources dan ketuk kotak centang.
- Mulai ulang Android Auto.
Langkah 2. Di ponsel Anda, aktifkan USB debugging
- Pada Settings > About phone, ketuk Build number tujuh kali untuk mengaktifkan Opsi Developer.
- Kembali ke Settings > Developer Options, aktifkan USB debugging.
Langkah 3. Instal aplikasi Anda ke ponsel dan jalankan pengujian
- Hubungkan ponsel ke komputer melalui USB agar Anda dapat menginstal aplikasi
langsung ke perangkat selagi Anda mengembangkannya. Gunakan perintah
adb devices
untuk memastikan bahwa komputer pengembangan dapat mendeteksi perangkat Anda saat terhubung melalui USB. Setelah perangkat Anda siap dan terhubung melalui USB, buka direktori
platform-tools/
SDK dan instal.apk
di perangkat dengan menjalankan perintah berikut:adb -d install path/to/your/app.apk
Sekarang Anda dapat menguji aplikasi Anda dan memverifikasi bahwa semuanya berfungsi.
Persyaratan pengujian tambahan untuk aplikasi media
Jika Anda menguji aplikasi media, Anda juga harus menguji skenario yang dibahas di bagian ini (selain menguji aplikasi Anda di Android Auto, Android Automotive OS, atau keduanya).
Menguji skenario memulai MediaBrowseService
Untuk membantu menjaga pengemudi dan penumpang tetap aman, pengguna memiliki pembatasan tambahan tentang
cara mereka dapat berinteraksi dengan aplikasi saat mengemudi. Karena alasan ini, Android Auto dan Android Automotive OS memiliki beberapa MediaBrowserService
skenario memulai yang harus dapat ditangani aplikasi Anda agar pengguna dapat
terus menikmati konten Anda saat dalam perjalanan.
Uji aplikasi Anda untuk memastikannya dapat menangani setiap skenario berikut:
MediaBrowserService
dijalankan sebelumActivity
dibuka.MediaBrowserService
dijalankan saat tidak adaActivity
yang dapat ditampilkan.MediaBrowserService
dijalankan saat pengguna tidak login.
Saat menguji skenario ini, pastikan untuk mencoba metode berikut:
- Hentikan paksa aplikasi media, lalu luncurkan Android Auto atau Android Automotive OS.
- Bersihkan data aplikasi media, lalu luncurkan Android Auto atau Android Automotive OS.
Selain itu, pastikan untuk menetapkan pesan error yang sesuai jika diperlukan.
Alat pengujian media
Aplikasi Pengujian Pengontrol Media memungkinkan Anda menguji seluk-beluk pemutaran media di Android dan membantu memverifikasi penerapan sesi media Anda. Untuk memulai fitur ini, lihat Menggunakan aplikasi pengujian pengontrol media.