ADB comunica con il telefono attraverso MTP/FTP? Se no, attraverso quale protocollo?
Comunica usando TCP.
Android Debug Bridge (adb) è un programma client-server che include tre componenti:
- Un client, che gira sulla tua macchina di sviluppo.
- Un server, che gira come processo in background sulla tua macchina di sviluppo.
- Un demone, che gira come processo in background su ogni emulatore o istanza del dispositivo.
Quando si avvia un client adb, il client prima controlla se c'è un processo server adb già in esecuzione. Se non c'è, avvia il processo server. Quando il server si avvia, si lega alla porta locale TCP 5037 e resta in ascolto dei comandi inviati dai client adb - tutti i client adb usano la porta 5037 per comunicare con il server adb.
Il server poi imposta le connessioni a tutte le istanze di emulatori/dispositivi in esecuzione. Individua le istanze degli emulatori/device scansionando le porte dispari nell'intervallo da 5555 a 5585, l'intervallo usato dagli emulatori/device. Dove il server trova un demone adb, stabilisce una connessione a quella porta. Si noti che ogni istanza di emulatore/dispositivo acquisisce una coppia di porte sequenziali - una porta pari per le connessioni alla console e una porta dispari per le connessioni adb. Per esempio:
Emulatore 1, console: 5554
Emulatore 1, adb: 5555
Emulatore 2, console: 5556
Una volta che il server ha impostato le connessioni a tutte le istanze dell'emulatore, puoi usare i comandi adb per accedere a quelle istanze. Poiché il server gestisce le connessioni alle istanze dell'emulatore/dispositivo e gestisce i comandi da più client adb, è possibile controllare qualsiasi istanza dell'emulatore/dispositivo da qualsiasi client (o da uno script)
Riferimento: Android Debug Bridge
Articoli simili
- Qual è la differenza tra il protocollo SMB e il protocollo FTP?
- Quale protocollo è più adatto per proteggere il mio traffico e i miei download attraverso un router che agisce come client VPN?
- Come trovare l'indirizzo IP esterno del mio filezilla FTP
- Che cosa è ADB sulla rete, nelle opzioni dello sviluppatore di Cyanogen mod OS?