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 robotika
- dok dok
- peralatan diagnostik dan musik
- kios
- pembaca kartu
dan banyak lagi. Hal ini membuat perangkat Android yang tidak memiliki kemampuan host dapat berinteraksi dengan hardware USB. Aksesori USB Android harus dirancang agar berfungsi dengan perangkat yang didukung Android dan harus mematuhi protokol komunikasi aksesori Android. Dalam mode host USB, perangkat Android berfungsi sebagai host. Contoh perangkat meliputi 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 terhubung (dalam hal ini, aksesori USB Android) akan berfungsi sebagai host dan mendukung bus.
Gambar 1. Mode Aksesori dan Host USB
Mode aksesori dan host USB didukung langsung 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 perangkat. Produsen perangkat dapat memilih apakah akan menyertakan library add-on pada image sistem perangkat atau tidak.
Catatan: Dukungan untuk mode aksesori dan host USB pada akhirnya bergantung pada
hardware perangkat, apa pun tingkat platformnya. Anda dapat memfilter perangkat
yang mendukung aksesori dan host USB melalui
elemen <uses-feature>
.
Lihat dokumentasi aksesori dan
host USB untuk detail selengkapnya.
Pertimbangan debug
Saat men-debug aplikasi yang menggunakan fitur aksesori atau host USB, kemungkinan besar
Anda menghubungkan hardware USB ke perangkat Android. Hal ini
mencegah Anda agar tidak memiliki koneksi adb
ke perangkat yang didukung Android
menggunakan USB. Anda tetap dapat mengakses adb
melalui koneksi jaringan. Untuk mengaktifkan adb
melalui koneksi jaringan:
- Hubungkan perangkat yang didukung Android menggunakan USB ke komputer Anda.
- Dari direktori
platform-tools/
SDK, masukkanadb tcpip 5555
pada command prompt. - Masukkan
adb connect <device-ip-address>:5555
. Sekarang Anda seharusnya terhubung ke perangkat Android dan dapat memberikan perintahadb
yang biasa sepertiadb logcat
. - Untuk menyetel perangkat agar memroses USB, masukkan
adb usb
.