Guia
adb ou MTP: dois jeitos de passar arquivos pelo mesmo cabo
Um celular Android oferece seus arquivos a um computador de dois jeitos. Um é para todo mundo e não pede configuração nenhuma. O outro é para desenvolvedores, pede que você ligue uma opção e faz muito mais.
O MTP é o que você ganha ao escolher Transferência de arquivo nas opções de USB do celular. Ele não pede mais nada, funciona com qualquer computador que tenha um app de MTP e mostra os arquivos do celular numa lista, para você arrastar para dentro e para fora. O adb, o Android Debug Bridge, é o protocolo das ferramentas de desenvolvedor do Android. Ele pede que a Depuração USB seja ativada uma vez e, em troca, dá ao computador um serviço de cópia de arquivos, um shell no celular e tudo o que se constrói em cima deles.
Para algumas fotos num computador emprestado, o MTP é a escolha fácil. Para o Terminal, scripts, pastas grandes, arquivos de mais de 4 GB ou um celular que você quer usar como disco, o adb é o mais forte. Nenhum dos dois vem no macOS, então no Mac os dois chegam por um app ou por um download.
O que é o MTP
O MTP, Media Transfer Protocol, nasceu na Microsoft como uma extensão do PTP, o protocolo das câmeras, e o Android o usa para transferir arquivos por USB desde 2011. O celular mantém o controle do armazenamento e oferece cada arquivo e cada pasta como um objeto numerado. O computador pede uma lista e depois cada objeto, uma operação de cada vez. O MTP explicado mostra como ele funciona e por que um Mac não consegue montá-lo sozinho.
O que é o adb
O adb faz parte do SDK Platform-Tools do Google, um download gratuito para macOS, Windows e Linux. Ele tem três partes: o comando adb que você digita, um servidor que roda em segundo plano no computador e um daemon no celular que responde a ele. Você não precisa do Android Studio. Num Mac com Homebrew, um comando instala tudo:
brew install --cask android-platform-tools
Com o celular conectado e autorizado, estes são os comandos que importam para arquivos:
adb devices
adb pull /sdcard/DCIM/Camera ~/Pictures/Phone
adb push ~/Music/Album /sdcard/Music/
adb shell ls -l /sdcard/Download
adb pull copia um arquivo ou uma pasta inteira do celular, adb push copia para ele, e adb shell roda um comando no celular, ou abre um shell interativo se você não passar nenhum.
O que cada um pede no celular
MTP: modo Transferência de arquivo
- Desbloqueie o celular e conecte o cabo.
- Toque na notificação Dispositivo carregando via USB.
- Em Usar USB para, escolha Transferência de arquivo. Num Pixel, a opção aparece como Transferência de arquivo / Android Auto (File transfer / Android Auto).
A maioria dos celulares volta a só carregar na próxima vez que você conecta o cabo. Se preferir que não, as Opções do desenvolvedor têm o item Configuração USB padrão.
adb: depuração USB
- Abra Configurações > Sobre o dispositivo e toque sete vezes em Número da versão. Na Samsung, ele fica em Sobre o telefone > Informações de software, com o nome Número de compilação.
- Nas novas Opções do desenvolvedor, ative a Depuração USB.
- Conecte o cabo. O celular pergunta Permitir a depuração USB? e mostra a impressão digital da chave RSA do computador. Marque Sempre permitir a partir deste computador e toque em Permitir.
Os fabricantes mudam esses menus de lugar, então como ativar a depuração USB traz os passos para Samsung, Pixel, Xiaomi, OnePlus e Motorola.
A depuração USB é segura?
A depuração USB é mais segura do que o nome sugere, desde que você só autorize computadores que são seus. Desde o Android 4.2.2, o celular não aceita um único comando adb de um computador até alguém desbloqueá-lo e aceitar a chave daquele computador.
- Cada computador tem a sua chave. O adb cria um par de chaves RSA na primeira vez que roda. O adb do Google guarda essa chave, no Mac, em
~/.android/adbkey. A impressão digital que aparece no aviso é a dessa chave. - O celular se lembra das chaves que você autoriza. Um computador que ele não conhece não recebe nada. O
adb devicesmostra o celular comounauthorizedaté você tocar em Permitir. - Um computador autorizado pode fazer muita coisa. Ele pode ler e gravar o armazenamento compartilhado do celular, instalar apps e rodar comandos no shell. O shell roda como um usuário limitado, então não consegue ler os dados privados de outros apps, mas trate a autorização como se estivesse entregando o seu celular desbloqueado.
- As autorizações podem expirar. Desde o Android 11, por padrão, o celular esquece um computador que não se reconectou em sete dias, a menos que você ative Desativar o tempo limite da autorização adb.
- Dá para revogar todas de uma vez. Revogar autorizações de depuração USB, nas Opções do desenvolvedor, faz o celular esquecer todos os computadores de uma vez. Desligar a depuração USB fecha a porta por completo até você ligá-la de novo.
O MTP tem um modelo mais simples: o celular precisa estar desbloqueado, e quem estiver com o cabo tem acesso ao armazenamento compartilhado enquanto a Transferência de arquivo estiver ligada. Não existe autorização por computador.
O que cada um faz
| Um app de MTP | adb no Terminal | SideMount (adb no Finder) | |
|---|---|---|---|
| No celular | Transferência de arquivo, escolhida ao conectar | Depuração USB, ativada uma vez | Depuração USB, ativada uma vez |
| Copiar arquivos nos dois sentidos | Sim | Sim | Sim |
| Arquivos de mais de 4 GB | Depende do app | Sim | Sim |
| Abrir um arquivo direto no celular, em qualquer app do Mac | Só num app que monte o celular | Não, é preciso copiá-lo antes com pull | Sim |
| Terminal, scripts e rsync | Não | Comandos próprios, sem rsync | Sim, no volume |
| Shell no celular, instalação de apps | Não | Sim | Não |
| Por Wi-Fi | Não | Sim, no Android 11 ou posterior | Sim, no Android 11 ou posterior |
O modelo de objetos do MTP explica a maior parte da coluna da esquerda. Ele entrega objetos inteiros por número, uma operação de cada vez, o que combina com arrastar arquivos para dentro e para fora de uma janela. O serviço de arquivos do adb trabalha com caminhos, que é o que o Terminal e os scripts esperam, e o shell dele permite encontrar, mover e apagar arquivos no celular sem copiar nada.
Uma coisa os dois têm em comum: só um programa de cada vez consegue ocupar o celular. Uma única sessão MTP, ou uma única conexão adb. Se um app de MTP estiver aberto, outro não consegue se conectar, e só um servidor adb pode ocupar o celular de cada vez.
Qual usar em cada caso
- Um punhado de fotos, ou um computador que não é seu. MTP. Nada para ligar, e nada para revogar depois.
- Um celular de trabalho com as Opções do desenvolvedor bloqueadas. MTP, porque o adb não está disponível para você.
- Pastas grandes, arquivos de mais de 4 GB ou qualquer coisa que você queira automatizar. adb. O
adb pulle oadb pushaceitam pastas inteiras, e o shell pode arrumar as coisas no celular. - O celular como disco no Finder. Um app que crie um volume. O SideMount é o caminho do adb transformado em volume do Finder: ele fala adb sozinho pelo cabo, então não há servidor adb nem Platform-Tools para instalar, e qualquer app do Mac pode abrir, salvar e copiar arquivos direto no celular. Ele precisa do macOS 26 ou posterior. O MacDroid também monta celulares no Finder, por MTP ou adb.
Se você usa o SideMount e também o seu próprio adb, os dois se revezam: feche o seu servidor adb antes de montar, e ejetar o celular no Finder o devolve ao seu adb. O guia de configuração mostra a primeira conexão passo a passo, e todas as formas de passar arquivos entre o Android e o Mac cobre também as opções sem fio.
Perguntas
O adb é mais rápido que o MTP?
Não por natureza. Num celular moderno com cabo USB 3, os dois movem arquivos grandes depressa, e o app no computador faz mais diferença que o protocolo. Um celular ou um cabo USB 2 limita qualquer um dos dois a uns 20 a 40 MB/s.
Preciso do Android Studio para usar o adb?
Não. O adb vem no SDK Platform-Tools do Google, um download pequeno e separado, ou pelo Homebrew, com brew install --cask android-platform-tools. Alguns apps para Mac falam adb sozinhos e não precisam de nenhum dos dois.
Alguém pode copiar meus arquivos pela depuração USB?
Só de um computador que o celular já autorizou. Um computador novo precisa do celular desbloqueado e do aviso “Permitir a depuração USB?” aceito. Para ter certeza, use “Revogar autorizações de depuração USB” nas Opções do desenvolvedor, ou desligue a depuração USB quando não precisar dela.
Por que o adb devices diz unauthorized?
O celular ainda não aceitou a chave deste computador. Desbloqueie o celular e procure o aviso “Permitir a depuração USB?”. Se nenhum aparecer, revogue as autorizações nas Opções do desenvolvedor e conecte de novo, para o celular perguntar outra vez.
Seu celular Android, no Finder.
Grátis por sete dias, sem cartão. macOS 26 ou posterior.