Panoramica dell'host e degli accessori USB
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Android supporta una vasta gamma di periferiche USB e accessori USB Android
(hardware che implementa il protocollo degli accessori Android) tramite due modalità: accessorio USB e host USB. In modalità accessorio USB, l'hardware USB esterno funge da host USB. Ecco alcuni esempi di accessori:
- controller di robotica
- stazioni di ricarica
- apparecchiature musicali e diagnostiche
- chioschi
- lettori di schede
e molto altro. In questo modo i dispositivi con piattaforma Android privi di
capacità host possono interagire con l'hardware USB. Gli accessori USB Android devono essere progettati per funzionare con i dispositivi Android e rispettare il protocollo di comunicazione degli accessori Android. In modalità host USB, il dispositivo Android funge da host. Alcuni esempi di dispositivi sono fotocamere digitali, tastiere, mouse e controller di gioco. I dispositivi USB progettati per una vasta gamma di applicazioni e ambienti possono comunque interagire con le app Android in grado di comunicare correttamente con il dispositivo.
La Figura 1 mostra le differenze tra le due modalità. Quando il dispositivo Android è in modalità host, funge da host USB e alimenta il bus. Quando il dispositivo Android è in modalità accessorio USB, l'hardware USB collegato (un accessorio USB Android in questo caso) funge da host e alimenta il bus.

Figura 1. Modalità host USB e accessori
Le modalità accessorio e host USB sono supportate direttamente su Android 3.1 (livello API 12) o sulle piattaforme successive. Viene inoltre eseguito il backporting della modalità accessorio USB su Android 2.3.4 (livello API 10) come libreria aggiuntiva per supportare una gamma più ampia di dispositivi.
I produttori di dispositivi possono scegliere se includere o meno la libreria di componenti aggiuntivi nell\'immagine di sistema del dispositivo.
Nota: il supporto delle modalità host e accessori USB dipende in ultima analisi dall\'hardware del dispositivo, a prescindere dal livello della piattaforma. Puoi filtrare i dispositivi che supportano l'host e l'accessorio USB tramite un elemento <uses-feature>
.
Per ulteriori dettagli, consulta la documentazione relativa agli accessori e all'host USB.
Considerazioni sul debug
Durante il debug di applicazioni che utilizzano funzioni host o accessori USB, è molto probabile che l'hardware USB sia collegato al dispositivo Android. In questo modo eviti di avere una connessione adb
al dispositivo Android tramite USB. Puoi comunque accedere a adb
tramite una connessione di rete. Per abilitare adb
tramite una connessione di rete:
- Collega il dispositivo Android al computer tramite USB.
- Dalla directory
platform-tools/
dell'SDK, inserisci adb tcpip 5555
al prompt dei comandi.
- Inserisci
adb connect <device-ip-address>:5555
Ora dovresti essere connesso al
dispositivo Android e puoi inviare i soliti comandi adb
, ad esempio
adb logcat
.
- Per impostare il dispositivo per l'ascolto tramite USB, inserisci
adb usb
.
I campioni di contenuti e codice in questa pagina sono soggetti alle licenze descritte nella Licenza per i contenuti. Java e OpenJDK sono marchi o marchi registrati di Oracle e/o delle sue società consociate.
Ultimo aggiornamento 2025-07-26 UTC.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Mancano le informazioni di cui ho bisogno","missingTheInformationINeed","thumb-down"],["Troppo complicato/troppi passaggi","tooComplicatedTooManySteps","thumb-down"],["Obsoleti","outOfDate","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Problema relativo a esempi/codice","samplesCodeIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 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`."]]