Présentation des hôtes et des accessoires USB

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.

Diagramme illustrant la différence entre le mode hôte et le mode accessoire

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:

  1. Connectez l'appareil Android à votre ordinateur à l'aide d'un câble USB.
  2. Dans le répertoire platform-tools/ du SDK, saisissez adb tcpip 5555 à l'invite de commande.
  3. 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.
  4. Pour configurer votre appareil pour écouter via USB, saisissez adb usb.