نمای کلی میزبان USB و لوازم جانبی
با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
اندروید از انواع لوازم جانبی USB و لوازم جانبی USB اندروید (سخت افزاری که پروتکل لوازم جانبی اندروید را پیاده سازی می کند) از طریق دو حالت پشتیبانی می کند: لوازم جانبی USB و میزبان USB. در حالت لوازم جانبی USB، سخت افزار USB خارجی به عنوان میزبان USB عمل می کند. نمونه هایی از لوازم جانبی ممکن است شامل موارد زیر باشد:
- کنترلرهای رباتیک
- ایستگاه های اتصال
- تجهیزات تشخیصی و موسیقی
- کیوسک ها
- کارتخوان ها
و بسیاری دیگر این به دستگاههای مجهز به اندروید که قابلیت میزبانی ندارند، توانایی تعامل با سختافزار USB را میدهد. لوازم جانبی USB Android باید برای کار با دستگاههای مجهز به Android طراحی شده باشند و باید از پروتکل ارتباطی لوازم جانبی Android پیروی کنند. در حالت میزبان USB، دستگاه مجهز به اندروید به عنوان میزبان عمل می کند. نمونههایی از دستگاهها عبارتند از دوربینهای دیجیتال، کیبورد، ماوس و کنترلکنندههای بازی. دستگاههای USB که برای طیف وسیعی از برنامهها و محیطها طراحی شدهاند، همچنان میتوانند با برنامههای Android که میتوانند به درستی با دستگاه ارتباط برقرار کنند، تعامل داشته باشند.
شکل 1 تفاوت بین دو حالت را نشان می دهد. هنگامی که دستگاه مجهز به اندروید در حالت میزبان است، به عنوان میزبان USB عمل می کند و گذر را تغذیه می کند. هنگامی که دستگاه مجهز به Android در حالت لوازم جانبی USB است، سخت افزار USB متصل (در این مورد یک لوازم جانبی USB Android) به عنوان میزبان عمل می کند و گذرگاه را تغذیه می کند.

شکل 1. حالت های میزبان و لوازم جانبی USB
حالتهای جانبی USB و میزبان مستقیماً در Android 3.1 (سطح API 12) یا پلتفرمهای جدیدتر پشتیبانی میشوند. حالت لوازم جانبی USB نیز به اندروید 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
را وارد کنید.
محتوا و نمونه کدها در این صفحه مشمول پروانههای توصیفشده در پروانه محتوا هستند. جاوا و OpenJDK علامتهای تجاری یا علامتهای تجاری ثبتشده Oracle و/یا وابستههای آن هستند.
تاریخ آخرین بهروزرسانی 2025-07-29 بهوقت ساعت هماهنگ جهانی.
[[["درک آسان","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-29 بهوقت ساعت هماهنگ جهانی."],[],[],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`."]]