Android mendukung berbagai periferal USB dan aksesori USB Android (hardware yang menerapkan protokol aksesori Android) melalui dua mode: aksesori USB dan host USB. Dalam mode aksesori USB, hardware USB eksternal berfungsi sebagai host USB. Contoh aksesori dapat mencakup pengontrol robot; stasiun dok; peralatan diagnosis dan musik; kios; pembaca kartu; dan masih banyak lagi. Mode ini memungkinkan perangkat Android yang tidak memiliki kemampuan host berinteraksi dengan hardware USB. Aksesori USB Android harus dirancang untuk berfungsi dengan perangkat Android dan harus mematuhi protokol komunikasi aksesori Android. Dalam mode host USB, perangkat Android berfungsi sebagai host. Contoh perangkat mencakup kamera digital, keyboard, mouse, dan pengontrol game. Perangkat USB yang dirancang untuk berbagai aplikasi dan lingkungan tetap dapat berinteraksi dengan aplikasi Android yang dapat berkomunikasi dengan perangkat secara tepat.
Gambar 1 menunjukkan perbedaan antara dua mode tersebut. Saat berada dalam mode host, perangkat Android berfungsi sebagai host USB dan mengaktifkan bus. Saat perangkat Android berada dalam mode aksesori USB, hardware USB yang tersambung (dalam kasus ini, aksesori USB Android) berfungsi sebagai host dan mendukung bus.

Gambar 1. Mode Aksesori dan Host USB
Mode aksesori dan host USB secara langsung didukung di Android 3.1 (API level 12) atau platform yang lebih baru. Mode aksesori USB juga di-backport ke Android 2.3.4 (API level 10) sebagai library add-on untuk mendukung berbagai jenis perangkat lainnya. Produsen perangkat dapat memilih untuk menyertakan library add-on pada image sistem perangkat atau tidak.
Catatan: Pada dasarnya, dukungan untuk mode aksesori dan host USB
bergantung pada hardware perangkat, terlepas dari level platform. Anda dapat memfilter perangkat yang
mendukung aksesori dan host USB melalui elemen <uses-feature>
. Untuk
detail selengkapnya, lihat dokumentasi aksesori dan host USB.
Pertimbangan debug
Saat melakukan debug aplikasi yang menggunakan fitur aksesori atau host USB, kemungkinan besar
hardware USB harus disambungkan ke perangkat Android Anda. Tindakan ini akan mencegah Anda membuat
koneksi adb
ke perangkat Android melalui USB. Anda tetap dapat mengakses
adb
melalui koneksi jaringan. Untuk mengaktifkan adb
melalui koneksi
jaringan:
- Sambungkan perangkat Android melalui USB ke komputer Anda.
- Dari direktori
platform-tools/
SDK, masukkanadb tcpip 5555
di command prompt. - Masukkan
adb connect <device-ip-address>:5555
. Sekarang Anda seharusnya sudah tersambung ke perangkat Android dan dapat memberikan perintahadb
yang biasa sepertiadb logcat
. - Untuk menyetel perangkat agar memroses USB, masukkan
adb usb
.