סקירה כללית על מארח USB ואביזרים

מערכת 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 דרך חיבור לרשת:

  1. מחברים את המכשיר עם Android למחשב באמצעות USB.
  2. בספרייה של ערכת ה-SDK‏ platform-tools/, מזינים adb tcpip 5555 בשורת הפקודה.
  3. מזינים adb connect <device-ip-address>:5555 עכשיו אמור להיות חיבור למכשיר עם Android, ואפשר להשתמש בפקודות הרגילות של adb כמו adb logcat.
  4. כדי להגדיר את המכשיר להאזנה דרך USB, מזינים adb usb.