Guia
MTP, o protocolo por trás do modo Transferência de arquivo
Toda vez que você escolhe “Transferência de arquivo” num celular Android, está ligando o MTP. Veja o que ele é, por que se comporta do jeito que se comporta e por que um Mac nunca o entendeu sozinho.
O MTP, Media Transfer Protocol, é o que um celular Android fala pelo USB quando você toca na notificação “Dispositivo carregando via USB” e escolhe Transferência de arquivo (num Pixel, Transferência de arquivo / Android Auto). Ele não é um disco. O celular continua no controle do próprio armazenamento e entrega os arquivos ao computador um pedido de cada vez, como objetos numerados, e não como blocos de um disco.
O Windows entende o MTP há anos, então num PC o celular aparece no Explorador de Arquivos. O macOS nunca teve suporte próprio ao MTP. É por isso que um Mac sempre precisou de um app para chegar aos arquivos de um celular Android, e por isso esses arquivos costumam ficar na janela desse app, e não no Finder.
De onde veio o MTP
O MTP nasceu do PTP, o Picture Transfer Protocol que as câmeras digitais usam, padronizado como ISO 15740. O PTP foi feito para fotos. A Microsoft o ampliou no começo dos anos 2000 para tocadores de música e outros aparelhos de mídia, e um blog da Microsoft sobre o assunto chegou a brincar que o nome significava “More Than PTP”. O Windows Media Player 10 trouxe um driver de classe para aparelhos MTP, e os novos tocadores vendidos com o selo PlaysForSure, da Microsoft, tinham de ser compatíveis com ele.
Em maio de 2008, o USB Implementers Forum adotou o MTP como uma classe de dispositivo USB completa, e ele deixou de ser o protocolo de uma única empresa. O Android o adotou em 2011. Os tablets com Honeycomb, como o Motorola Xoom, foram os primeiros a usar MTP em vez de mostrar o armazenamento como um disco USB, e o Google ofereceu o Android File Transfer para Mac desde o início, porque de outro jeito o macOS não conseguia conversar com eles.
Como o MTP funciona
O MTP tem dois papéis. O computador é o iniciador, que pergunta; o celular é o respondedor, que responde. Nada acontece sem que o computador peça, a não ser por pequenas mensagens de evento que o celular pode mandar, como “um arquivo foi adicionado”.
Objetos e handles
Cada arquivo e cada pasta no celular é um objeto com um número, o seu handle. Para mostrar uma pasta, um app de MTP pede ao celular os handles que estão dentro dela e depois pede os detalhes de cada objeto: o nome, o tamanho, o formato e o handle da pasta em que ele está. As pastas também são objetos, de um tipo que o MTP chama de associação. O protocolo em si não tem caminhos. Um app que quer mostrar DCIM/Camera precisa ir de handle em handle até chegar lá.
Uma operação de cada vez
Cada troca é uma transação: um pedido, um bloco de dados opcional e uma resposta. A especificação define essas transações como síncronas, então uma operação nova não pode começar antes de a anterior terminar. O servidor MTP do próprio Android lê um pedido, responde e só então lê o próximo, e aceita uma única sessão. Na prática, isso quer dizer que só um programa por vez consegue conversar com o celular por MTP, e uma cópia longa segura todo o resto, inclusive a próxima listagem de pasta.
Leitura e gravação
Mandar um arquivo para o celular são dois passos no protocolo básico: descrever o objeto novo e depois enviar todos os bytes dele. Não existe um jeito padrão de alterar parte de um arquivo que já está lá. A leitura é mais flexível: o MTP 1.1 inclui o GetPartialObject, que busca um intervalo de bytes, embora o deslocamento dele seja um número de 32 bits. O Google acrescentou extensões próprias ao MTP do Android, entre elas GetPartialObject64, SendPartialObject, TruncateObject e um par para editar um objeto no lugar. Se você se beneficia delas depende do app no computador, porque cada um decide quais operações usa.
Mais um detalhe importa adiante. O registro que descreve um objeto guarda o tamanho num campo de 32 bits, que vai até pouco menos de 4,3 GB. Arquivos maiores precisam de uma propriedade separada de 64 bits, buscada com outro pedido, e nem todo app pede por ela. Essa é a provável razão do limite de 4 GB do Android File Transfer.
Por que um Mac não consegue montar sozinho
Um disco no Finder é um sistema de arquivos. O macOS espera pedir um arquivo pelo caminho, ler qualquer intervalo de bytes dele, gravar no meio dele, renomeá-lo no lugar, mudar as datas e fazer várias dessas coisas ao mesmo tempo para apps diferentes. O MTP foi pensado para algo mais estreito: uma biblioteca de músicas no computador entregando músicas inteiras a um tocador de mídia. Ele oferece objetos por número, uma transação de cada vez, e só edita no lugar com as extensões do próprio Android.
O macOS não traz nada que traduza entre os dois. A Captura de Imagem fala PTP, o protocolo de câmera de onde o MTP saiu, então consegue importar fotos e vídeos de um celular configurado como PTP nas opções de USB. Ela não navega pelo resto do armazenamento do celular e não fala MTP.
Então cada ferramenta de MTP no Mac traz a sua própria tradução. A maioria mostra o celular numa janela própria: o Android File Transfer fazia isso, e o OpenMTP, gratuito e de código aberto, ainda faz. Algumas vão além e montam um volume no Finder por cima do MTP, transformando cada pedido do sistema de arquivos em operações MTP: o MacDroid, pago além de um plano gratuito, que também pode usar o adb, e o novo mtpfs para macOS 26, gratuito. Construir um sistema de arquivos completo sobre um protocolo que trabalha um objeto de cada vez dá trabalho de verdade, e é por isso que existem muito menos desses do que apps de MTP.
O que isso muda no dia a dia
| MTP | Armazenamento em massa USB | adb | |
|---|---|---|---|
| O que o computador vê | Uma lista de objetos numerados | Um disco bruto | Um shell e um serviço de cópia de arquivos |
| O celular continua usando o armazenamento enquanto isso | Sim | Não, ele precisa liberar o armazenamento | Sim |
| Oferecido pelo Android hoje | Sim, “Transferência de arquivo” | Não | Sim, com a depuração USB |
| Entendido pelo próprio macOS | Não | Sim | Não |
| Arquivos abertos no lugar por qualquer app do Mac | Só por um app que monta um volume | Sim | Só por um app que monta um volume |
Na janela de um app de MTP você navega, arrasta arquivos para o Mac e arrasta arquivos para o celular. O que você não consegue é tratar o celular como um lugar onde os arquivos moram:
- Outros apps não abrem um arquivo que está no celular. Para editar uma foto no Lightroom ou ver um filme no VLC, você copia para o Mac primeiro e depois copia o resultado de volta.
- O Terminal e o rsync não enxergam o celular. Não há caminho para passar a eles.
- Um programa de cada vez. Se um app já está ocupando o celular, o próximo não consegue conectar, e essa é uma das causas do “Could not connect to device”.
- Desbloqueie o celular antes. Os próprios passos do Google para a transferência de arquivos começam por desbloquear o aparelho.
A velocidade não é o problema que muita gente diz. Num celular recente com um cabo USB 3, o MTP move arquivos grandes depressa. Um celular ou um cabo USB 2 limita qualquer método a uns 20 a 40 MB/s. Os limites do MTP estão no modelo dele, não na vazão.
O outro caminho pelo mesmo cabo
O Android tem um segundo jeito de passar arquivos pelo USB: o adb, o Android Debug Bridge, que as ferramentas de desenvolvedor dele usam. Ele pede que a depuração USB seja ativada uma vez e, em troca, o computador ganha um serviço de cópia de arquivos e um shell, em vez de uma lista de objetos. adb vs. MTP compara os dois em detalhes.
O SideMount segue esse caminho. Ele mesmo fala adb pelo cabo e apresenta o celular pelo FSKit como um volume no Finder, então qualquer app do Mac pode abrir, salvar e copiar arquivos no celular, no lugar. Ele precisa do macOS 26 ou posterior e da depuração USB; o guia de configuração cobre os dois.
Perguntas
MTP é a mesma coisa que PTP?
Não, mas é construído em cima dele. O PTP é o Picture Transfer Protocol das câmeras, feito para fotos. O MTP o amplia para qualquer tipo de arquivo. Num celular Android, “PTP” nas opções de USB oferece só fotos e vídeos, e “Transferência de arquivo” oferece o MTP.
O MTP é lento?
Não num celular moderno. Num cabo USB 3, o MTP move arquivos grandes depressa. Os limites reais dele são que um Mac não consegue montá-lo sozinho, que ele trabalha uma operação de cada vez e que só um programa por vez pode usar o celular. Um celular ou cabo USB 2 limita qualquer método a uns 20 a 40 MB/s.
Por que o meu Mac não mostra o celular quando eu conecto?
O macOS não tem suporte próprio ao MTP, então um celular no modo Transferência de arquivo não aparece em lugar nenhum até que um app que fale MTP ou adb esteja aberto. Veja Celular Android não aparece no Mac para as verificações a fazer.
O MTP consegue abrir um arquivo no celular sem copiá-lo antes?
O protocolo consegue ler parte de um arquivo, e o Android acrescenta operações para editar um no lugar. Se você consegue abrir um arquivo no lugar depende do app no Mac. Um app com janela própria copia os arquivos para fora; um app que monta um volume no Finder deixa os outros apps abrirem os arquivos onde eles estão.
Seu celular Android, no Finder.
Grátis por sete dias, sem cartão. macOS 26 ou posterior.