סקירה כללית על מארח 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
דרך חיבור לרשת:
- מחברים את המכשיר עם Android למחשב באמצעות USB.
- בספרייה של ערכת ה-SDK
platform-tools/
, מזינים adb tcpip 5555
בשורת הפקודה.
- מזינים
adb connect <device-ip-address>:5555
עכשיו אמור להיות חיבור למכשיר עם Android, ואפשר להשתמש בפקודות הרגילות של adb
כמו adb logcat
.
- כדי להגדיר את המכשיר להאזנה דרך USB, מזינים
adb usb
.
דוגמאות התוכן והקוד שבדף הזה כפופות לרישיונות המפורטים בקטע רישיון לתוכן. Java ו-OpenJDK הם סימנים מסחריים או סימנים מסחריים רשומים של חברת Oracle ו/או של השותפים העצמאיים שלה.
עדכון אחרון: 2025-07-27 (שעון UTC).
[[["התוכן קל להבנה","easyToUnderstand","thumb-up"],["התוכן עזר לי לפתור בעיה","solvedMyProblem","thumb-up"],["סיבה אחרת","otherUp","thumb-up"]],[["חסרים לי מידע או פרטים","missingTheInformationINeed","thumb-down"],["התוכן מורכב מדי או עם יותר מדי שלבים","tooComplicatedTooManySteps","thumb-down"],["התוכן לא עדכני","outOfDate","thumb-down"],["בעיה בתרגום","translationIssue","thumb-down"],["בעיה בדוגמאות/בקוד","samplesCodeIssue","thumb-down"],["סיבה אחרת","otherDown","thumb-down"]],["עדכון אחרון: 2025-07-27 (שעון UTC)."],[],[],null,["# USB host and accessory overview\n\nAndroid supports a variety of USB peripherals and Android USB accessories\n(hardware that implements the Android accessory protocol) through two modes: USB\naccessory and USB host. In USB accessory mode, the external USB hardware acts as\nthe USB host. Examples of accessories might include:\n\n- robotics controllers\n- docking stations\n- diagnostic and musical equipment\n- kiosks\n- card readers\n\nand many more. This gives Android-powered devices that don't have host\ncapabilities the ability to interact with USB hardware. Android\nUSB accessories must be\ndesigned to work with Android-powered devices and must adhere to the [Android\naccessory communication protocol](http://accessories.android.com/demokit). In\nUSB host mode, the Android-powered device acts as the host. Examples of devices\ninclude digital cameras, keyboards, mice, and game controllers. USB devices that\nare designed for a wide range of applications and environments can still\ninteract with Android applications that can correctly communicate with the\ndevice.\n\nFigure 1 shows the differences between the two modes. When the Android-powered\ndevice is in host mode, it acts as the USB host and powers the bus. When the\nAndroid-powered device is in USB accessory mode, the connected USB hardware (an\nAndroid USB accessory in this case) acts as the host and powers the bus.\n\n**Figure 1.** USB Host and Accessory Modes\n\nUSB accessory and host modes are directly supported in Android 3.1 (API level\n12) or newer platforms. USB accessory mode is also backported to Android 2.3.4\n(API level 10) as an add-on library to support a broader range of devices.\nDevice manufacturers can choose whether or not to include the add-on library on\nthe device\\\\'s system image.\n\n**Note:** Support for USB host and accessory modes are ultimately dependant on\nthe device\\\\'s hardware, regardless of platform level. You can filter for devices\nthat support USB host and accessory through a\n[`\u003cuses-feature\u003e`](/guide/topics/manifest/uses-feature-element) element.\nSee the USB [accessory](/develop/connectivity/usb/accessory) and\n[host](/develop/connectivity/usb/host) documentation for more details.\n\nDebug considerations\n--------------------\n\nWhen debugging applications that use USB accessory or host features, you most\nlikely have USB hardware connected to your Android-powered device. This\nprevents you from having an `adb` connection to the Android-powered device\nusing USB. You can still access `adb` over a network connection. To enable `adb`\nover a network connection:\n\n1. Connect the Android-powered device using USB to your computer.\n2. From your SDK `platform-tools/` directory, enter `adb tcpip 5555` at the command prompt.\n3. Enter `adb connect \u003cdevice-ip-address\u003e:5555` You should now be connected to the Android-powered device and can issue the usual `adb` commands like `adb logcat`.\n4. To set your device to listen on USB, enter `adb usb`."]]