מערכת Android תומכת במגוון ציוד היקפי USB ובאביזרי USB ל-Android (חומרה שמיישמת את פרוטוקול האביזרים של Android) בשני מצבים: אביזר USB ומארח USB. במצב אביזר USB, חומרת ה-USB החיצונית פועלת כמארח USB. דוגמאות לאביזרים:
- בקרים לרובוטיקה
- תחנות עגינה
- ציוד לאבחון וציוד מוזיקלי
- קיוסקים
- קוראי כרטיסים
ועוד הרבה יותר. כך מכשירים מבוססי-Android שלא כוללים יכולות של מארח יכולים ליצור אינטראקציה עם חומרת USB. אביזרי USB ל-Android צריכים להיות מיועדים לעבודה עם מכשירים מבוססי-Android, וחובה לפעול בהתאם לפרוטוקול התקשורת של אביזרי Android. במצב מארח USB, המכשיר עם Android פועל כמארח. דוגמאות למכשירים: מצלמות דיגיטליות, מקלדות, עכברים ושלטים לגיימינג. מכשירי USB שמיועדים למגוון רחב של אפליקציות וסביבות עדיין יכולים ליצור אינטראקציה עם אפליקציות ל-Android שיכולות לתקשר עם המכשיר בצורה נכונה.
איור 1 מציג את ההבדלים בין שני המצבים. כשמכשיר עם Android מופעל נמצא במצב מארח, הוא פועל כמארח USB ומספק חשמל לאפיק. כשהמכשיר עם Android נמצא במצב אביזר USB, חומרת ה-USB המחוברת (במקרה הזה, אביזר USB של Android) פועלת כמארח ומספקת חשמל לאפיק.
איור 1. מצבי מארח ואביזר USB
מצבי מארח ואביזר USB נתמכים ישירות ב-Android 3.1 (רמת API 12) או בפלטפורמות חדשות יותר. מצב אביזר USB הועבר גם ל-Android 2.3.4 (רמת API 10) כספריית תוספים כדי לתמוך במגוון רחב יותר של מכשירים. יצרני מכשירים יכולים לבחור אם לכלול את ספריית התוספים בתמונת המערכת של המכשיר.
הערה: התמיכה במצב מארח USB ובמצב אביזר תלויה בסופו של דבר בחומרה של המכשיר, ללא קשר לרמת הפלטפורמה. אפשר לסנן מכשירים שתומכים במארח USB ובאביזרים באמצעות אלמנט <uses-feature>
.
פרטים נוספים זמינים במאמרים בנושא אביזרים ומארחים של USB.
שיקולים לניפוי באגים
כשמנפים באגים באפליקציות שמשתמשות באביזר USB או בתכונות של מארח, סביר להניח שיש לכם חומרת USB שמחוברת למכשיר עם Android. כך לא תוכלו ליצור חיבור adb
למכשיר עם Android באמצעות USB. עדיין אפשר לגשת אל adb
דרך חיבור לרשת. כדי להפעיל את adb
דרך חיבור לרשת:
- מחברים את המכשיר עם Android למחשב באמצעות USB.
- בספרייה של ערכת ה-SDK
platform-tools/
, מזיניםadb tcpip 5555
בשורת הפקודה. - מזינים
adb connect <device-ip-address>:5555
עכשיו אמור להיות חיבור למכשיר עם Android, ואפשר להשתמש בפקודות הרגילות שלadb
כמוadb logcat
. - כדי להגדיר את המכשיר להאזנה דרך USB, מזינים
adb usb
.