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

  1. Sblocca il telefono e collega il cavo.
  2. Tocca la notifica Dispositivo in carica tramite USB.
  3. 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

  1. Apri Impostazioni > Informazioni sullo smartphone e tocca sette volte Numero build. Su un Samsung si trova in Info sul telefono > Informazioni software.
  2. Nelle nuove Opzioni sviluppatore, attiva Debug USB.
  3. 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.

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 MTPadb nel TerminaleSideMount (adb nel Finder)
Sul telefonoTrasferimento di file, scelto quando colleghi il telefonoDebug USB, attivato una voltaDebug USB, attivato una volta
Copiare file nei due sensiSìSìSì
File oltre i 4 GBDipende dall'appSìSì
Aprire un file senza copiarlo da qualsiasi app del MacSolo con un'app che monta il telefonoNo, prima va copiato con pullSì
Terminale, script e rsyncNoI suoi comandi, niente rsyncSì, sul volume
Shell sul telefono, installazione di appNoSìNo
Via Wi-FiNoSì, con Android 11 o successivoSì, con Android 11 o successivo
Cosa offre ogni strada su un Mac. Su un telefono moderno entrambi i protocolli sono veloci nel trasferimento puro, quindi la velocità resta fuori.

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

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.

Scarica per macOS