Guida
adb o MTP: due modi di spostare file con lo stesso cavo
Un telefono Android offre i suoi file a un computer in due modi. Uno è per tutti e non richiede configurazione. L'altro è per gli sviluppatori, richiede un interruttore e fa molto di più.
MTP è quello che ottieni quando scegli Trasferimento di file nelle impostazioni USB del telefono. Non richiede altro, funziona con qualsiasi computer che abbia un'app MTP e mostra i file del telefono come un elenco da cui trascinare file dentro e fuori. adb, l'Android Debug Bridge, è il protocollo degli strumenti per sviluppatori di Android. Richiede di attivare una volta il Debug USB e in cambio dà al computer un servizio di copia dei file, una shell sul telefono e tutto ciò che si costruisce sopra.
Per qualche foto su un computer in prestito, MTP è la scelta facile. Per il Terminale, gli script, le cartelle grandi, i file oltre i 4 GB o un telefono da usare come disco, adb è il più potente. Nessuno dei due è integrato in macOS, quindi su un Mac arrivano entrambi tramite un'app o un download.
Cos'è MTP
MTP, il Media Transfer Protocol, è nato in Microsoft come estensione di PTP, il protocollo delle fotocamere, e Android lo usa per il trasferimento di file via USB dal 2011. Il telefono mantiene il controllo della sua memoria e offre ogni file e cartella come un oggetto numerato. Il computer chiede un elenco, poi ogni oggetto, un'operazione alla volta. MTP spiegato racconta come funziona e perché un Mac non può montarlo da solo.
Cos'è adb
adb fa parte degli SDK Platform-Tools di Google, un download gratuito per macOS, Windows e Linux. Ha tre parti: il comando adb che digiti, un server che gira in background sul computer e un daemon sul telefono che gli risponde. Non serve Android Studio. Su un Mac con Homebrew, basta un comando per installarlo:
brew install --cask android-platform-tools
Con il telefono collegato e autorizzato, questi sono i comandi che contano per i file:
adb devices
adb pull /sdcard/DCIM/Camera ~/Pictures/Phone
adb push ~/Music/Album /sdcard/Music/
adb shell ls -l /sdcard/Download
adb pull copia un file o un'intera cartella dal telefono, adb push ne copia uno sul telefono e adb shell esegue un comando sul telefono, oppure apre una shell interattiva se non gliene dai uno.
Cosa richiede ciascuno sul telefono
MTP: modalità Trasferimento di file
- Sblocca il telefono e collega il cavo.
- Tocca la notifica Dispositivo in carica tramite USB.
- In Utilizza connessione USB per, scegli Trasferimento di file. Su un Pixel la voce è Trasferimento di file / Android Auto (File transfer / Android Auto).
La maggior parte dei telefoni torna alla sola ricarica la volta successiva che lo colleghi. Se preferisci di no, nelle Opzioni sviluppatore c'è l'impostazione Configurazione USB predefinita.
adb: debug USB
- Apri Impostazioni > Informazioni sullo smartphone e tocca sette volte Numero build. Su un Samsung si trova in Info sul telefono > Informazioni software.
- Nelle nuove Opzioni sviluppatore, attiva Debug USB.
- Collega il cavo. Il telefono chiede Consentire debug USB? e mostra il fingerprint della chiave RSA del computer. Spunta Consenti sempre da questo computer e tocca Consenti.
I produttori spostano questi menu, quindi come attivare il debug USB ha i passaggi per Samsung, Pixel, Xiaomi, OnePlus e Motorola.
Il debug USB è sicuro?
Il debug USB è più sicuro di quanto faccia pensare il nome, purché autorizzi solo computer tuoi. Da Android 4.2.2, un telefono non accetta un solo comando adb da un computer finché qualcuno non lo ha sbloccato e ha accettato la chiave di quel computer.
- Ogni computer ha la sua chiave. adb crea una coppia di chiavi RSA la prima volta che viene eseguito. Su un Mac, l'adb di Google la conserva in
~/.android/adbkey. Il fingerprint nella richiesta è quello di questa chiave. - Il telefono ricorda le chiavi che autorizzi. Un computer che non conosce non ottiene nulla.
adb devicesmostra il telefono comeunauthorizedfinché non tocchi Consenti. - Un computer autorizzato può fare molto. Può leggere e scrivere la memoria condivisa del telefono, installare app ed eseguire comandi nella shell. La shell gira come utente con permessi limitati, quindi non può leggere i dati privati delle altre app, ma considera l'autorizzazione come consegnare il telefono sbloccato.
- Le autorizzazioni possono scadere. Da Android 11, per impostazione predefinita il telefono dimentica un computer che non si è ricollegato entro sette giorni, a meno che tu non attivi Disattiva timeout autorizzazione ADB.
- Puoi revocarle tutte. Revoca autorizzazioni debug USB, nelle Opzioni sviluppatore, dimentica tutti i computer in una volta. Disattivare il debug USB chiude del tutto la porta finché non lo riattivi.
MTP ha un modello più semplice: il telefono deve essere sbloccato, e chiunque abbia il cavo accede alla memoria condivisa finché è attivo Trasferimento di file. Non c'è un'autorizzazione per ogni computer.
Cosa sa fare ciascuno
| Un'app MTP | adb nel Terminale | SideMount (adb nel Finder) | |
|---|---|---|---|
| Sul telefono | Trasferimento di file, scelto quando colleghi il telefono | Debug USB, attivato una volta | Debug USB, attivato una volta |
| Copiare file nei due sensi | Sì | Sì | Sì |
| File oltre i 4 GB | Dipende dall'app | Sì | Sì |
| Aprire un file senza copiarlo da qualsiasi app del Mac | Solo con un'app che monta il telefono | No, prima va copiato con pull | Sì |
| Terminale, script e rsync | No | I suoi comandi, niente rsync | Sì, sul volume |
| Shell sul telefono, installazione di app | No | Sì | No |
| Via Wi-Fi | No | Sì, con Android 11 o successivo | Sì, con Android 11 o successivo |
Il modello a oggetti di MTP spiega quasi tutta la colonna di sinistra. Consegna oggetti interi per numero, un'operazione alla volta, il che va bene per trascinare file dentro e fuori da una finestra. Il servizio file di adb lavora con i percorsi, che è ciò che si aspettano il Terminale e gli script, e la sua shell permette di trovare, spostare ed eliminare file sul telefono senza copiare nulla.
Una cosa in comune ce l'hanno: un solo programma alla volta può occupare un telefono. Una sola sessione MTP, o una sola connessione adb. Se un'app MTP è aperta, un'altra non può collegarsi, e un solo server adb alla volta può tenere un telefono.
Quale usare e quando
- Qualche foto, o un computer che non è tuo. MTP. Niente da attivare e niente da revocare dopo.
- Un telefono di lavoro con le Opzioni sviluppatore bloccate. MTP, perché adb non è disponibile.
- Cartelle grandi, file oltre i 4 GB o tutto ciò che vuoi automatizzare con uno script. adb.
adb pulleadb pushaccettano cartelle intere, e la shell può fare ordine sul telefono. - Il telefono come disco nel Finder. Un'app che crea un volume. SideMount è la strada di adb trasformata in un volume del Finder: parla adb da solo attraverso il cavo, quindi non c'è un server adb né Platform-Tools da installare, e ogni app del Mac può aprire, salvare e copiare file direttamente sul telefono. Richiede macOS 26 o successivo. Anche MacDroid monta i telefoni nel Finder, via MTP o adb.
Se usi sia SideMount sia un tuo adb, fanno a turno: chiudi il tuo server adb prima di montare il telefono, e quando espelli il telefono nel Finder torna disponibile per il tuo adb. La guida alla configurazione accompagna nel primo collegamento, e tutti i modi per spostare file tra Android e un Mac copre anche le opzioni senza fili.
Domande
adb è più veloce di MTP?
Non di per sé. Su un telefono moderno con un cavo USB 3, entrambi spostano velocemente i file grandi, e l'app sul computer conta più del protocollo. Un telefono o un cavo USB 2 limita entrambi a circa 20-40 MB/s.
Serve Android Studio per usare adb?
No. adb fa parte degli SDK Platform-Tools di Google, un piccolo download a parte, oppure si installa con Homebrew con brew install --cask android-platform-tools. Alcune app per Mac parlano adb da sole e non hanno bisogno né dell'uno né dell'altro.
Qualcuno può copiare i miei file tramite il debug USB?
Solo da un computer che il telefono ha già autorizzato. Un computer nuovo ha bisogno del telefono sbloccato e della richiesta «Consentire debug USB?» accettata. Per sicurezza, usa «Revoca autorizzazioni debug USB» nelle Opzioni sviluppatore, oppure disattiva il debug USB quando non ti serve.
Perché adb devices dice unauthorized?
Il telefono non ha ancora accettato la chiave di questo computer. Sbloccalo e cerca la richiesta «Consentire debug USB?». Se non compare, revoca le autorizzazioni nelle Opzioni sviluppatore e ricollega il cavo, così il telefono la chiede di nuovo.
Il tuo telefono Android, nel Finder.
Gratis per sette giorni, senza carta di credito. macOS 26 o successivo.