Présentation des hôtes et des accessoires USB
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Android est compatible avec divers périphériques USB et accessoires USB Android (matériel qui implémente le protocole d'accessoires Android) via deux modes: accessoire USB et hôte USB. En mode accessoire USB, le matériel USB externe fait office d'hôte USB. Voici quelques exemples d'accessoires:
- contrôleurs robotiques
- stations d'accueil
- diagnostic et matériel de musique
- kiosques
- lecteurs de carte
et bien plus encore. Cela permet aux appareils Android qui ne disposent pas de fonctionnalités hôtes d'interagir avec le matériel USB. Les accessoires USB Android doivent être conçus pour fonctionner avec les appareils Android et être conformes au protocole de communication des accessoires Android. En mode hôte USB, l'appareil Android joue le rôle d'hôte. Il peut s'agir, par exemple, d'appareils photo numériques, de claviers, de souris et de manettes de jeu. Les appareils USB conçus pour un large éventail d'applications et d'environnements peuvent toujours interagir avec les applications Android capables de communiquer correctement avec l'appareil.
La figure 1 montre les différences entre les deux modes. Lorsque l'appareil Android est en mode hôte, il agit en tant qu'hôte USB et alimente le bus. Lorsque l'appareil Android est en mode accessoire USB, le matériel USB connecté (un accessoire USB Android dans ce cas) agit en tant qu'hôte et alimente le bus.

Figure 1 : Modes hôte et accessoire USB
Les modes accessoire et hôte USB sont directement compatibles avec Android 3.1 (niveau d'API 12) ou version ultérieure. Le mode accessoire USB est également rétroporté vers Android 2.3.4 (niveau d'API 10) en tant que bibliothèque de modules complémentaires pour prendre en charge un plus large éventail d'appareils.
Les fabricants d\'appareils peuvent choisir d\'inclure ou non la bibliothèque de modules complémentaires dans l\'image système de l\'appareil.
Remarque:La compatibilité avec les modes hôte et accessoire USB dépend du matériel de l'appareil, quel que soit le niveau de la plate-forme. Vous pouvez filtrer les appareils compatibles avec l'hôte et les accessoires USB via un élément <uses-feature>
.
Pour en savoir plus, consultez la documentation sur les accessoires et hôtes USB.
Remarques concernant le débogage
Lorsque vous déboguez des applications qui utilisent des accessoires ou des fonctionnalités hôtes USB, il est probable que du matériel USB soit connecté à votre appareil Android. Cela vous empêche d'établir une connexion adb
à l'appareil Android via USB. Vous pouvez toujours accéder à adb
via une connexion réseau. Pour activer adb
via une connexion réseau:
- Connectez l'appareil Android à votre ordinateur à l'aide d'un câble USB.
- Dans le répertoire
platform-tools/
du SDK, saisissez adb tcpip 5555
à l'invite de commande.
- Saisissez
adb connect <device-ip-address>:5555
. Vous devriez maintenant être connecté à l'appareil Android et pouvoir émettre les commandes adb
habituelles, comme adb logcat
.
- Pour configurer votre appareil pour écouter via USB, saisissez
adb usb
.
Le contenu et les exemples de code de cette page sont soumis aux licences décrites dans la Licence de contenu. Java et OpenJDK sont des marques ou des marques déposées d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/07/26 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Il n'y a pas l'information dont j'ai besoin","missingTheInformationINeed","thumb-down"],["Trop compliqué/Trop d'étapes","tooComplicatedTooManySteps","thumb-down"],["Obsolète","outOfDate","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Mauvais exemple/Erreur de code","samplesCodeIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/07/26 (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`."]]