Google berkomitmen untuk mendorong terwujudnya keadilan ras bagi komunitas Kulit Hitam. Lihat caranya.

Menguji aplikasi Android untuk mobil

Menguji aplikasi kendaraan Anda akan memastikan pengguna tidak menemukan hasil yang tidak terduga atau mendapatkan pengalaman buruk. Aplikasi Anda dapat diakses di konsol mobil serta layar ponsel pengguna, sehingga Anda perlu menguji aplikasi di keduanya.

Topik ini menjelaskan cara menguji aplikasi Anda untuk setiap jenis tampilan yang dapat digunakan pengemudi untuk mengakses aplikasi Anda. Selain itu, topik ini memberikan petunjuk untuk menguji fungsionalitas lain yang diperlukan.

Menguji aplikasi untuk layar mobil yang kompatibel dengan Android Auto

DHU memungkinkan komputer pengembangan untuk mengemulasi head unit Android Auto, sehingga Anda dapat menjalankan dan menguji aplikasi Android Auto dengan mudah. DHU berjalan pada host 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 Anda dengan menghubungkan ponsel ke komputer Anda melalui USB.

Menginstal DHU

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

  1. Aktifkan mode developer di perangkat seluler Anda, seperti yang dijelaskan dalam Mengaktifkan opsi developer di perangkat.
  2. Kompilasi aplikasi Anda di lingkungan pengembangan dan instal aplikasi Anda di perangkat seluler fisik yang menjalankan Android 5.0 (API level 21) atau versi yang lebih tinggi. Untuk memeriksa versi Android di perangkat Nexus, buka Setelan > Tentang ponsel (atau Tentang tablet) > Versi Android.
  3. Instal aplikasi Android Auto di perangkat seluler. Jika Android Auto sudah diinstal, pastikan Anda menggunakan versi terbaru.
  4. Buka SDK Manager dan download paket DHU Android Auto Desktop Head Unit emulator dari tab SDK Tools. DHU akan terinstal di dalam direktori <sdk>/extras/google/auto/.

Jika menjalankan DHU di Linux, Anda juga harus menginstal 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
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

Setelah menginstal DHU, Anda dapat menguji aplikasi Android Auto dengan menghubungkan ponsel ke komputer melalui USB.

Menjalankan DHU

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. Pada aplikasi Android Auto, ketuk menu Hamburger, lalu ketuk Settings.
  2. Scroll ke bagian About di dekat bagian bawah, lalu ketuk Version untuk menampilkan semua versi dan informasi izin.
  3. Ketuk bagian Version and permission info 10 kali.

    Dialog Allow development settings akan ditampilkan.

  4. Ketuk OK.

    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 Start head unit server.

    Di perangkat, layanan latar depan akan ditampilkan di area notifikasi.

  6. Pada aplikasi Android Auto, kembali ke layar utama dengan menekan tombol kembali, lalu buka Settings > Connected cars dari panel navigasi, dan pastikan Add new cars to 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 Mac atau Linux) dari direktori <sdk>/extras/google/auto/.

    cd <sdk>/extras/google/auto
    ./desktop-head-unit
    

Setelah memulai DHU, Anda dapat menggunakan perintah dan binding tombol DHU untuk menjalankan dan menguji aplikasi Anda.

Android Auto diluncurkan di perangkat seluler

Gambar 3. Android Auto diluncurkan di perangkat seluler.

DHU diluncurkan di mesin pengembangan

Gambar 4. DHU diluncurkan di mesin pengembangan.

Tanda 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 mengemulasi bentuk paling umum untuk head unit yang kompatibel dengan Android Auto, yang menggunakan 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, seperti yang dijelaskan dalam Perintah dan binding tombol DHU. Dalam mode rotary-controller, DHU mengabaikan klik mouse; sehingga Anda harus mengoperasikan Android Auto dengan operasi rotary-controller yang disimulasikan.

Memberikan perintah DHU

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

exitnav.wav
"Exit navigation." ("Keluar dari navigasi.")
navgoogle.wav
"Navigate to 1600 Amphitheatre Parkway, Mountain View." ("Navigasikan ke 1600 Amphitheatre Parkway, Mountain View.")
navsoh.wav
"Navigate to Sydney Opera House." ("Navigasikan ke Sydney Opera House.")
nextturn.wav
"When is my next turn?" ("Kapan belokan selanjutnya?")
showalternateroute.wav
"Show alternate routes." ("Tampilkan rute alternatif.")
howlong.wav
"How long until I get there?" ("Berapa lama saya akan tiba?")
navhome.wav
"Navigate to home." ("Navigasikan ke rumah.")
navwork.wav
"Navigate to work." ("Navigasikan ke kantor.")
pause.wav
"Pause music." ("Jeda musik.")
showtraffic.wav
"Show traffic." ("Tampilkan lalu lintas.")

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.

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 proses

Aplikasi Automotive OS berbeda dengan aplikasi Android lainnya. Android Automotive OS berinteraksi dengan aplikasi 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 hanya dapat menambahkan image sistem untuk produsen tertentu ke Polestar 2. Ikuti langkah-langkah berikut untuk menambahkan image sistem untuk Polestar 2:

  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

  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 Settings.
  3. Scroll ke bagian About di dekat bagian bawah, lalu ketuk Version untuk menampilkan semua versi dan informasi izin.
  4. Ketuk bagian Version and permission info 10 kali.

    Dialog Allow development settings akan ditampilkan.

  5. Ketuk OK.
  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 lainnya

Selain menguji perilaku aplikasi di konsol mobil dan layar ponsel, Anda juga harus memastikan bahwa aplikasi tersebut dapat menjalankan skenario berikut.

Menguji aplikasi media secara "start cold"

Aplikasi media Android Auto harus berfungsi meskipun tidak ada aktivitas yang dibuka. Aplikasi Anda harus merespons dengan tepat dalam kondisi berikut:

  • MediaBrowserService dijalankan sebelum aktivitas apa pun dibuka.
  • Pengguna belum login.
  • Tidak ada aktivitas yang dapat ditampilkan.

Selain itu, uji skenario berikut:

  • Hentikan paksa aplikasi media, lalu luncurkan Android Auto.
  • Bersihkan data aplikasi media, lalu luncurkan Android Auto.

Jika aplikasi tidak dapat menjalankan perilaku yang diminta, setel pesan error yang sesuai.

Alat pengujian media

Anda dapat menggunakan aplikasi Media Controller Test untuk memverifikasi integrasi media pada Android Auto dan Android Automotive OS.

Untuk informasi selengkapnya, lihat referensi berikut: