Menguji aplikasi Android untuk mobil

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 Anda memasang DHU, Anda dapat menguji aplikasi Android Auto dengan menghubungkan ponsel ke aplikasi melalui penerusan adb.

Untuk melaporkan bug atau meminta fitur terkait DHU, gunakan issue tracker ini.

Menginstal DHU

Versi terbaru DHU yang tersedia adalah 2.0 rc2. 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 rc2, Anda dapat menginstal versi 1.1.

Menginstal DHU versi 2.0 rc2

Ikuti langkah-langkah berikut untuk menginstal DHU 2.0 rc2 di mesin pengembangan Anda:

  1. 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.
  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 Android Studio dan alihkan Android Studio untuk menggunakan saluran Beta. Jika diminta untuk mengupdate ke versi terbaru Android Studio, Anda dapat mengabaikan update.
  5. Buka SDK Manager dan buka tab SDK Tools, lalu download versi 2.0 rc2 dari paket Android Auto Desktop Head Unit Emulator.

    SDK Manager yang menampilkan DHU 2.0 rc2.

    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.

  6. 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 rc2 pada 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 memperbarui 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 rc2, ikuti langkah-langkah berikut untuk menginstal DHU 1.1 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 Mengaktifkan 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 Android Studio dan periksa apakah Android Studio menggunakan saluran Stabil.
  5. 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.

  6. 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 ponsel ke komputer melalui USB. Jalankan DHU dengan menghubungkan perangkat seluler Anda ke mesin pengembangan dan mengatur koneksi ke server head unit 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.

Rangkaian lengkap opsi command line yang didukung DHU bervariasi bergantung pada apakah Anda menggunakan versi 2.0 rc2 atau 1.1.

Versi 2.0 rc2
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.
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 rc2)

Bagian ini menjelaskan berbagai fitur yang didukung oleh DHU versi 2.0 rc2 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
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 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:

  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.

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:

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

  1. Di Android Studio, pili 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

    Nama: Image Sistem Volvo

    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 Android Virtual Device (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.

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

  1. Instal aplikasi Android Auto (tersedia di Google Play) di ponsel Anda. Jika Android Auto sudah diinstal, pastikan Anda menggunakan versi terbaru.
  2. Pada aplikasi Android Auto, ketuk menu Hamburger, lalu ketuk Setelan.
  3. Scroll ke bagian Tentang di dekat bagian bawah, lalu ketuk Versi untuk menampilkan semua informasi versi dan izin.
  4. Ketuk bagian Info versi dan izin 10 kali.

    Dialog Izinkan setelan pengembangan akan ditampilkan.

  5. Ketuk Oke.
  6. Ketuk tiga titik di kanan atas layar untuk membuka menu tambahan, lalu ketuk Developer Settings.
  7. Ketuk Application Mode dan pilih Developer.

    Aplikasi akan kembali ke daftar setelan developer.

  8. Scroll ke bawah sampai Anda melihat Unknown sources dan ketuk kotak centang.
  9. Mulai ulang Android Auto.

Langkah 2. Di ponsel Anda, aktifkan USB debugging

  1. Pada Settings > About phone, ketuk Build number tujuh kali untuk mengaktifkan Opsi Developer.
  2. Kembali ke Settings > Developer Options, aktifkan USB debugging.

Langkah 3. Instal aplikasi Anda ke ponsel dan jalankan pengujian

  1. 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.
  2. 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 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 fitur ini, lihat Menggunakan aplikasi pengujian pengontrol media.