Menguji aplikasi mobil Anda akan membantu memastikan pengguna tidak mendapatkan hasil yang tidak terduga atau mendapatkan pengalaman yang buruk. Cara Anda menguji aplikasi bergantung pada apakah aplikasi Anda 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 menggunakan salah satu mekanisme koneksi yang didukung dan dijelaskan dalam Menjalankan DHU.
Untuk melaporkan bug atau meminta fitur terkait DHU, gunakan issue tracker ini.
Menginstal DHU
Ikuti langkah-langkah berikut untuk menginstal DHU di mesin pengembangan:
- Aktifkan mode developer di perangkat seluler yang menjalankan Android 6.0 (API level 23) atau yang lebih tinggi, seperti yang dijelaskan dalam Mengonfigurasi 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.
Di Android Studio, buka SDK Manager dan buka tab SDK Tools, lalu download paket Android Auto Desktop Head Unit Emulator.
DHU akan terinstal di dalam direktori
SDK_LOCATION/extras/google/auto/
.Pada sistem Linux atau macOS, jalankan perintah berikut di direktori tersebut untuk memastikan biner DHU dapat dieksekusi:
chmod +x ./desktop-head-unit
Langkah tambahan untuk Linux
Jika menjalankan DHU versi 2.x 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, update GLIBC
ke 2.32 atau
yang lebih tinggi, yang mungkin mengharuskan Anda mengupgrade 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 versi pra-rilis DHU
Untuk mendapatkan akses ke DHU versi pra-rilis, Anda dapat menggunakan versi pratinjau Android Studio atau mengganti saluran update dari penginstalan Android Studio yang sudah ada ke saluran beta.
Menjalankan DHU
Setelah menginstal DHU, Anda dapat menguji aplikasi Android Auto dengan menghubungkan perangkat seluler ke workstation melalui USB. Jalankan DHU dengan menghubungkan perangkat seluler ke mesin pengembangan menggunakan Mode Aksesori (direkomendasikan untuk DHU 2.x), atau Tunneling ADB.
Menghubungkan menggunakan Mode Aksesori (khusus DHU 2.x)
Android Auto mendukung koneksi ke DHU versi 2.x 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 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 satu kali.
Jika server head unit belum berjalan, buka menu tambahan, lalu pilih Mulai server head unit, seperti ditunjukkan pada gambar 1.
Pada perangkat, layanan latar depan muncul di area notifikasi yang menunjukkan bahwa server sedang berjalan, seperti ditunjukkan pada 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 menggunakan USB.
Pastikan layar perangkat seluler tidak terkunci sehingga dapat meluncurkan DHU.
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 terhubung ke server head unit yang berjalan di perangkat seluler 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, gunakan tanda --adb=<[localhost:]port>
, seperti ditunjukkan pada contoh berikut:
./desktop-head-unit --adb=5999
Secara default, DHU mengemulasikan head unit yang kompatibel dengan Android Auto dengan
antarmuka pengguna layar sentuh. Simulasikan sentuhan pengguna dengan mengklik DHU
menggunakan mouse. Untuk mengemulasi head unit yang menggunakan rotary controller sebagai input, Anda dapat
menggunakan tanda -i controller
, seperti ditunjukkan 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 bagian Rotary controller untuk detail selengkapnya. Dalam mode rotary controller, DHU mengabaikan klik mouse. Anda harus mengoperasikan Android Auto dengan operasi rotary controller yang disimulasikan.
Opsi command line lain untuk DHU tercantum dalam tabel berikut:
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. host:port
atau port opsional. Setelan defaultnya adalah port 5277. |
-a , --usb=DEVICE_ID |
Menggunakan 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. |
-t , --always_show_window_on_top |
Menampilkan jendela DHU di atas jendela lain (dinonaktifkan secara default) |
-? , --help |
Menampilkan listingan bantuan. |
Panduan pengguna DHU
Bagian ini menjelaskan fitur-fitur yang didukung oleh DHU 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] |
Menunjukkan set perintah lengkap. Jika nama perintah ditentukan, tunjukkan bantuan untuk perintah itu. | |
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
dengan ./desktop-head-unit < script.txt di, misalnya, 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
Jika sentuhan atau touchpad diaktifkan, mengklik di jendela tampilan, untuk sentuhan, atau jendela touchpad, untuk touchpad, akan terdaftar sebagai peristiwa sentuh.
Untuk sentuhan, simulasikan multi-sentuh dengan mengklik kanan lokasi jari pertama, lalu mengklik lama tombol kanan untuk jari kedua. Titik tengah dari dua jari tersebut tetap: menggerakkan mouse memungkinkan Anda memutarnya, 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:
- Mengklik ke atas, bawah, kiri, dan kanan pada D-pad
- Memutar searah jarum jam dan berlawanan arah jarum jam
- Melakukan putar pergelangan rotasi (lima langkah sekaligus)
- Mengklik ke bawah dan kembali ke pengontrol
Perintah dan binding tombol tercantum dalam tabel berikut.
Roda scroll pada mouse mengirimkan perintah dpad rotate
, dan klik tombol tengah
mouse, biasanya roda scroll, mengirimkan perintah dpad click
.
Perhatikan bahwa sebagian besar mobil memiliki layar sentuh. Sebagian 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. Perhatikan konfigurasi yang berbeda ini saat menyimulasikan head unit kendaraan yang berbeda.
Perintah | Kunci | Deskripsi |
---|---|---|
dpad {up|down|left|right} |
Tombol panah | Memindahkan rotary controller. |
dpad {ur|dl|ul|dr} |
Memindahkan rotary controller. | |
dpad soft {left|right} |
Shift+Tombol panah | Tombol samping yang dapat ditekan tersedia di beberapa rotary controller. |
dpad click |
Kembali | Menekan rotary controller. |
dpad back |
Backspace | Tombol kembali yang dapat ditekan tersedia di bawah beberapa rotary controller. |
dpad rotate left |
1 | Memutar rotary controller berlawanan arah jarum jam (kiri). |
dpad rotate right |
2 | Memutar rotary controller searah jarum jam (kanan). |
dpad flick left |
Shift+1 | Memutar rotary controller berlawanan arah jarum jam dengan cepat. |
dpad flick right |
Shift+2 | Memutar rotary controller searah jarum jam dengan cepat. |
dpad 0-9*#+ |
Num pad |
Mikrofon
DHU mendukung penggunaan mikrofon untuk input suara atau pemutaran trek suara
yang telah direkam sebelumnya. Demi kemudahan, file suara berikut untuk perintah suara
umum disertakan dalam DHU. File suara ini berada 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, gunakan perintah berikut:
mic play /path/to/filename.wav
Tabel berikut mencantumkan perintah lainnya terkait mikrofon:
Perintah | Kunci | Deskripsi |
---|---|---|
mic begin |
M | Mengaktifkan mikrofon, yang menyimulasikan klik 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 .ini
konfigurasi
saat memulai DHU.
Perintah | Deskripsi |
---|---|
fuel [percentage] |
Menyetel tingkat bahan bakar ke persentase yang ditentukan atau (tanpa nilai yang diteruskan) menonaktifkan tingkat bahan bakar. |
range [km] |
Menetapkan jarak ke kilometer yang ditentukan atau (tanpa nilai yang diteruskan) menonaktifkan data jarak. |
lowfuel [{on|off}] |
Menyetel sensor peringatan bahan bakar rendah atau (tanpa nilai yang diteruskan) menonaktifkan sensor. |
accel [x] [y] [z] |
Menyetel akselerometer ke nilai x, y, dan z yang ditentukan (m/s^2) atau (tanpa parameter yang diteruskan) membatalkan penetapan 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 (tanpa parameter yang diteruskan) membatalkan penetapan 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 (tanpa nilai yang diteruskan) menonaktifkan sensor. |
tollcard {insert|remove} |
Memasukkan atau menghapus kartu tol. |
Mode siang dan 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. |
Pengelolaan fokus
DHU mendukung simulasi apakah Android Auto memiliki fokus pada head unit menggunakan perintah berikut:
Perintah | Deskripsi |
---|---|
focus video {on|off|toggle} |
Mengaktifkan atau menonaktifkan 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 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 fokus navigasi pada head unit. Menonaktifkan fokus navigasi akan menyimulasikan head unit yang menjalankan sistem navigasinya sendiri. |
Pembatasan dan status mengemudi
DHU mendukung simulasi pembatasan tertentu saat kendaraan bergerak, seperti menonaktifkan keyboard dan melarang konfigurasi ponsel, menggunakan perintah berikut:
Perintah | Kunci | Deskripsi |
---|---|---|
restrict none |
U | Menonaktifkan semua batasan. |
restrict all |
Shift+U | Mengaktifkan semua batasan, seperti untuk menyimulasikan berkendara. |
Cluster instrumen
DHU mendukung emulasi cluster instrumen. Cluster ini biasanya berada di belakang kemudi, dan menunjukkan informasi dasar selama navigasi tentang belokan berikutnya—seperti nama jalan berikutnya atau panah belokan—jarak, atau waktu. Halaman ini juga menampilkan informasi tentang panggilan telepon yang sedang berlangsung.
Ini dapat diaktifkan menggunakan entri instrumentcluster
di bagian [general]
file konfigurasi, atau dengan entri navcluster
atau phonecluster
untuk mengontrol setiap fitur secara terpisah.
[general]
...
instrumentcluster = true
Tampilan Cluster
Beberapa kendaraan memiliki tampilan cluster yang mampu menampilkan informasi visual yang kaya seperti ubin peta. Mulai versi 2.1 DHU (saat ini tersedia melalui saluran update Android Studio Beta ), Anda dapat mengemulasikan tampilan tersebut di mesin pengembangan.
Hal ini dapat dilakukan menggunakan file konfigurasi dengan bagian [display]
cluster.
Bagian [display]
mendukung
opsi konfigurasi video yang sama seperti tampilan utama
yang dikonfigurasi di bagian [general]
file.


...
# 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
...
Konfigurasi ini dapat ditambahkan langsung ke file .ini
yang ada atau
Anda dapat menggunakannya kembali dengan menempatkannya dalam file terpisah dan meneruskan beberapa
file konfigurasi saat meluncurkan DHU. Saat menggunakan beberapa file konfigurasi, definisi berikutnya dari nilai tertentu akan menggantikan definisi sebelumnya.
# 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
Status Pemutaran Media
DHU mendukung tampilan informasi tambahan untuk menampilkan status pemutaran media, seperti trek yang sedang diputar.
Ini dapat diaktifkan menggunakan entri playbackstatus
di bagian [general]
.
[general]
...
playbackstatus = true
Kode tombol
DHU menyediakan sekumpulan kode tombol default yang menyimulasikan rangkaian tombol
pintasan yang biasanya tersedia di kendaraan. Misalnya, kode tombol
home
dapat dipicu dalam permintaan DHU sebagai berikut:
keycode home
Tabel berikut mencantumkan kode tombol lain yang tersedia:
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 antara
sentuhan dan rotary controller, serta untuk menyetel kecepatan frame, resolusi, dan DPI
yang diminta head unit dari ponsel.
Lokasi default untuk file konfigurasi adalah ~/.android/headunit.ini
. Untuk
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
Cuplikan berikut menunjukkan 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 yang menunjukkan berbagai setelan head unit yang dapat
Anda uji berada di
folder SDK_LOCATION/extras/google/auto/config/
.
Untuk kasus penggunaan
lanjutan lainnya, lihat setelan berikut yang didukung.
Konfigurasi input
Tabel berikut mencantumkan opsi konfigurasi input:
Nama | Default | Jenis | Deskripsi |
---|---|---|---|
inputmode |
default |
String | Menentukan mode input. Opsi touch ,
rotary , dan hybrid mengaktifkan dan menonaktifkan
dukungan layar sentuh dan putar, serta menyetel kode tombol default, sebagaimana mestinya.
default mengalihkan ke opsi touch dan
controller . |
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 true, ketukan di touchpad adalah peristiwa tertentu. |
touchpaduiabsolute |
false |
Boolean | Jika touchpadnavigation adalah true , setel
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 lainnya, head unit dapat
menentukan margin ke tampilan lebar (tampilan tinggi) sesuai kebutuhan. Misalnya, jika
Anda menginginkan layar 1000x600, tetapkan resolusi ke 720p (1280x720)
serta marginwidth
280 dan marginheight
120. Tindakan ini memiliki efek
menambahkan margin 140 px di tepi kiri dan kanan serta margin 60 px di
atas dan bawah.
Contoh konfigurasi berikut mengemulasikan layar standar 6 inci (750x450):
[general]
...
resolution = 800x480
marginwidth = 50
marginheight = 30
Dan contoh konfigurasi berikut mengemulasikan layar yang sangat lebar:
[general]
...
resolution = 1280x720
marginwidth = 0
marginheight = 220
Tabel berikut mencantumkan opsi konfigurasi video lainnya:
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 membantu
pemeriksaan konten visual. |
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 tidak diaktifkan, data yang dikirim untuk sensor tersebut dengan 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. |
Opsi berbagai konfigurasi
Tabel berikut mencantumkan opsi konfigurasi lainnya:
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 hal berikut, dalam daftar yang dipisahkan koma:
|
evconnectors |
|
String | Nol atau beberapa hal berikut, dalam daftar yang dipisahkan koma:
fueltypes berisi electric .
|
Memecahkan masalah
Terkadang DHU menampilkan layar kosong saat pertama kali terhubung. 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.
- Berikan izin tambahan yang diminta di layar ponsel. DHU mungkin akan ditutup sekali lagi.
- Mulai ulang DHU jika perlu.
Menguji aplikasi untuk Android Automotive OS
Anda dapat menggunakan Android Emulator untuk menguji bagaimana aplikasi Anda berjalan di 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, pilih 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. Kemudian, saat membuat AVD, Anda dapat memilih image sistem yang didownload untuk digunakan dengan AVD.
Menambahkan image sistem dari produsen mobil
Anda dapat menambahkan image sistem khusus OEM untuk GM, Honda, Polestar, Volvo, dan lainnya. Ikuti langkah-langkah di situs developer OEM:
Dalam urutan abjad:
Menginstal generic system image
Android Studio juga menyertakan image sistem generik untuk Android Automotive OS yang dapat Anda gunakan untuk menguji aplikasi dan harus Anda gunakan saat mengambil screenshot untuk Play Store.
Nama | API Level | Arsitektur | Play Store | Host Aplikasi Google Automotive | library android-automotive-video |
---|---|---|---|---|---|
Image Sistem Atom Intel x86 Automotive | 28 | x86 | ✔ | ||
Image Sistem Atom Intel x86 Automotive dengan Play Store | 29 | x86 | ✔ | ✔ | |
Image Sistem Atom_64 Intel x86 Automotive dengan Play Store | 30 | x86 | ✔ | ✔ | ✔ |
Image Sistem ARM 64 v8a Automotive dengan Play Store | 32 | ARM | ✔ | ✔ | ✔ |
Image Sistem Atom_64 Intel x86 Automotive dengan Play Store | 32 | x86 | ✔ | ✔ | ✔ |
Ikuti langkah-langkah berikut untuk menginstal image sistem generik:
- Di Android Studio, pilih Tools > SDK Manager
- Klik tab SDK Platforms.
- Klik Show Package Details.
- Pilih image yang akan didownload (lihat tabel sebelumnya untuk mengetahui detailnya)
Klik Apply, lalu klik OK.
Membuat AVD mobil dan menjalankan emulator
Ikuti langkah-langkah berikut untuk membuat Perangkat Virtual Android (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. Klik Next.
- Pilih image sistem yang menargetkan Automotive, seperti Android 12L (Automotive dengan Play Store), 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
.
Persyaratan pengujian tambahan untuk aplikasi media
Jika Anda menguji aplikasi media, uji skenario yang dibahas di bagian ini selain menguji aplikasi Anda di Android Auto, Android Automotive OS, atau keduanya.
Menguji skenario memulai MediaBrowserService
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 skenario memulai MediaBrowserService
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.
Menggunakan aplikasi Pengujian Pengontrol Media
Aplikasi Pengujian Pengontrol Media memungkinkan Anda menguji seluk-beluk pemutaran media di Android dan membantu memverifikasi penerapan sesi media Anda. Untuk memulai alat ini, lihat Menggunakan aplikasi pengujian pengontrol media.