Menguji aplikasi Android untuk mobil

Tetap teratur dengan koleksi Simpan dan kategorikan konten berdasarkan preferensi Anda.

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

Ikuti langkah-langkah berikut untuk menginstal DHU di mesin pengembangan:

  1. 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.
  2. Kompilasi dan instal aplikasi Anda di perangkat.
  3. Instal Android Auto di perangkat. Jika Android Auto sudah diinstal, pastikan Anda menggunakan versi terbaru.
  4. Buka SDK Manager dan buka tab SDK Tools, lalu download paket Android Auto Desktop Head Unit Emulator.

    SDK Manager menampilkan DHU 2.0.

    DHU akan terinstal di dalam direktori SDK_LOCATION/extras/google/auto/.

  5. Pada sistem Linux atau macOS, jalankan perintah berikut di direktori tersebut untuk memastikan biner DHU dapat dieksekusi:

    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 versi pra-rilis DHU {#:dhu-pre-release}

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

  1. 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.
  2. Scroll ke bagian Tentang di dekat bagian bawah, lalu ketuk Versi untuk menampilkan semua informasi versi dan izin.

  3. Ketuk bagian Info versi dan izin 10 kali.

    Dialog Izinkan setelan pengembangan akan ditampilkan.

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

  5. 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).

    Menu konteks dengan opsi developer

    Gambar 1. Menu konteks dengan opsi developer.

    Notifikasi bahwa server head unit sedang berjalan

    Gambar 2. Notifikasi bahwa server head unit sedang berjalan.

  6. Pada aplikasi Android Auto, ketuk Mobil yang terhubung sebelumnya di dekat bagian atas Setelan, dan pastikan Tambahkan mobil baru ke Android Auto diaktifkan.

  7. Hubungkan perangkat seluler ke mesin pengembangan melalui USB.

  8. Pastikan layar perangkat seluler tidak terkunci; DHU tidak akan berjalan jika layar perangkat terkunci.

  9. 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
    
  10. Mulai DHU dengan menjalankan perintah desktop-head-unit.exe (di Windows) atau ./desktop-head-unit (di macOS atau Linux) dari direktori SDK_LOCATION/extras/google/auto/.

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

    DHU diluncurkan di mesin pengembangan

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

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 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).
-t, --always_show_window_on_top Menampilkan jendela DHU di atas jendela lain (dinonaktifkan secara default)
-?, --help Menampilkan listingan bantuan ini.

Panduan Pengguna DHU

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.

Jendela cluster instrumen DHU yang menampilkan informasi navigasi dan
  status panggilan

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.

Gambar 3. Layar utama saat menjalankan DHU dengan tampilan cluster sekunder.
Gambar 4. Layar cluster saat menjalankan DHU dengan tampilan cluster sekunder.
...

# 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, misalnya, lagu apa yang sedang diputar.

Jendela status pemutaran media DHU yang menampilkan informasi pemutaran

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 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
endcall
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 true, 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:

  1. 480p (800x480 -- default)
  2. 720p (1280x720)
  3. 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 ,):
  • unleaded
  • leaded
  • diesel-1
  • diesel-2
  • biodiesel
  • e85
  • lpg
  • cng
  • lng
  • hydrogen
  • electric
  • other
  • unknown
evconnectors String Nol atau beberapa (dipisahkan oleh ,):
  • j1772
  • mennekes
  • chademo
  • combo-1
  • combo-2
  • roadster
  • hpwc
  • gbt
  • supercharger
  • other
  • unknown
Hanya boleh disetel jika fueltypes berisi electric.

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:

  1. Tutup DHU.
  2. Ikuti Langkah 5 yang dijelaskan di Menjalankan DHU untuk menghentikan dan memulai ulang Server Head Unit.
  3. Mulai DHU lagi.
  4. Mungkin ada langkah pemberian izin tambahan di layar ponsel. Selesaikan langkah-langkah tersebut dan DHU mungkin akan ditutup sekali lagi.
  5. Mulai ulang DHU.

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:

  1. Di Android Studio, pilih Run > Edit Configurations.

    Kotak dialog Run/Debug Configurations.

  2. Pilih modul otomotif Anda dari daftar modul pada aplikasi Anda.

  3. Di bagian Launch Options > Launch, pilih Nothing.

  4. 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:

  1. Di Android Studio, pilih Tools > SDK Manager
  2. Klik tab SDK Update Sites.
  3. Klik Add Ikon Add.
  4. Masukkan Name dan URL berikut, lalu klik OK:

    Name: Polestar 2 System Image

    URL: https://developer.polestar.com/sdk/polestar2-sys-img.xml

    Name: Volvo System Image

    URL: https://developer.volvocars.com/sdk/volvo-sys-img.xml

  5. 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:

  1. Di Android Studio, pilih Tools > SDK Manager
  2. Klik tab SDK Platforms.
  3. Klik Show Package Details.
  4. Pada Android 9.0 (Pie), pilih Automotive Intel x86 Atom System Image.
  5. Klik Apply, lalu klik OK.

    Daftar komponen SDK Platform dengan generic system image
        yang dipilih.

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:

  1. Di Android Studio, pilih Tools > AVD Manager.
  2. Klik Create Virtual Device.
  3. Dari dialog Select Hardware, pilih Automotive, lalu pilih sebuah perangkat dan klik Next.
  4. Pilih image sistem yang menargetkan Automotive, seperti Android 9.0 (Automotive), lalu klik Next.
  5. Beri nama AVD Anda dan pilih opsi lain yang ingin Anda sesuaikan, lalu klik Finish.
  6. Dari kolom jendela alat, pilih AVD Android Automotive OS sebagai target deployment Anda.
  7. Klik Run Ikon Run.

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 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 sebelum Activity dibuka.
  • MediaBrowserService dijalankan saat tidak ada Activity 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 alat ini, lihat Menggunakan aplikasi pengujian pengontrol media.