Guide
adb ou MTP : deux façons de transférer des fichiers par le même câble
Un téléphone Android offre ses fichiers à un ordinateur de deux façons. L’une est pour tout le monde et ne demande aucun réglage. L’autre est pour les développeurs, demande un seul interrupteur, et fait bien davantage.
MTP, c’est ce que vous obtenez en choisissant Transfert de fichiers dans les réglages USB du téléphone. Il ne demande rien d’autre, fonctionne avec tout ordinateur équipé d’une app MTP, et présente les fichiers du téléphone sous forme de liste dans laquelle on glisse des éléments, dans un sens ou dans l’autre. adb, l’Android Debug Bridge, est le protocole des outils de développement d’Android. Il faut activer le débogage USB une fois, et en échange il offre à l’ordinateur un service de copie de fichiers, un shell sur le téléphone, et tout ce qui s’appuie sur eux.
Pour quelques photos sur un ordinateur emprunté, MTP est le choix facile. Pour le Terminal, des scripts, de gros dossiers, des fichiers de plus de 4 GB ou un téléphone que vous voulez traiter comme un disque, adb est le plus solide. Aucun des deux n’est intégré à macOS : sur un Mac, l’un comme l’autre passe par une app ou un téléchargement.
Ce qu’est MTP
MTP, le Media Transfer Protocol, est né chez Microsoft comme une extension de PTP, le protocole des appareils photo, et Android l’utilise pour le transfert de fichiers en USB depuis 2011. Le téléphone garde la main sur son stockage et présente chaque fichier et chaque dossier comme un objet numéroté. L’ordinateur demande une liste, puis chaque objet, une opération à la fois. MTP expliqué détaille son fonctionnement et pourquoi un Mac ne peut pas le monter seul.
Ce qu’est adb
adb fait partie des SDK Platform-Tools de Google, un téléchargement gratuit pour macOS, Windows et Linux. Il comprend trois parties : la commande adb que vous tapez, un serveur qui tourne en arrière-plan sur l’ordinateur, et un démon sur le téléphone qui lui répond. Vous n’avez pas besoin d’Android Studio. Sur un Mac équipé de Homebrew, une commande suffit pour l’installer :
brew install --cask android-platform-tools
Une fois le téléphone connecté et autorisé, voici les commandes qui comptent pour les fichiers :
adb devices
adb pull /sdcard/DCIM/Camera ~/Pictures/Phone
adb push ~/Music/Album /sdcard/Music/
adb shell ls -l /sdcard/Download
adb pull copie un fichier ou un dossier entier depuis le téléphone, adb push en copie un vers lui, et adb shell lance une commande sur le téléphone, ou ouvre un shell interactif si vous ne lui en donnez aucune.
Ce que chacun demande sur le téléphone
MTP : le mode Transfert de fichiers
- Déverrouillez le téléphone et branchez le câble.
- Appuyez sur la notification Recharge de cet appareil via USB.
- Sous Utiliser USB pour, choisissez Transfert de fichiers. Sur un Pixel, l’option s’appelle Transfert de fichiers / Android Auto (File transfer / Android Auto).
La plupart des téléphones reviennent à la simple recharge la fois suivante où vous les branchez. Si vous préférez éviter cela, les Options pour les développeurs proposent un réglage Configuration USB par défaut.
adb : le débogage USB
- Ouvrez Paramètres > À propos du téléphone et appuyez sept fois sur Numéro de build. Sur un Samsung, il se trouve sous À propos du téléphone > Informations sur le logiciel (Software information).
- Dans les nouvelles Options pour les développeurs, activez Débogage USB.
- Branchez le câble. Le téléphone demande Autoriser le débogage USB ? et affiche l’empreinte de la clé RSA de l’ordinateur. Cochez Toujours autoriser sur cet ordinateur et appuyez sur Autoriser.
Les fabricants déplacent ces menus, alors comment activer le débogage USB donne les étapes pour Samsung, Pixel, Xiaomi, OnePlus et Motorola.
Le débogage USB est-il sûr ?
Le débogage USB est plus sûr que son nom ne le laisse penser, tant que vous n’autorisez que des ordinateurs qui vous appartiennent. Depuis Android 4.2.2, un téléphone n’accepte aucune commande adb d’un ordinateur tant que quelqu’un ne l’a pas déverrouillé et n’a pas accepté la clé de cet ordinateur.
- Chaque ordinateur a sa propre clé. adb crée une paire de clés RSA à son premier lancement. L’adb de Google la conserve sur un Mac dans
~/.android/adbkey. L’empreinte affichée dans la demande est celle de cette clé. - Le téléphone mémorise les clés que vous autorisez. Un ordinateur qu’il ne connaît pas n’obtient rien.
adb devicesaffiche le téléphone commeunauthorizedtant que vous n’avez pas appuyé sur Autoriser. - Un ordinateur autorisé peut faire beaucoup. Il peut lire et écrire dans le stockage partagé du téléphone, installer des apps et lancer des commandes shell. Le shell tourne avec un utilisateur limité, il ne peut donc pas lire les données privées des autres apps, mais considérez l’autorisation comme si vous confiiez votre téléphone déverrouillé.
- Les autorisations peuvent expirer. Depuis Android 11, le téléphone oublie par défaut un ordinateur qui ne s’est pas reconnecté depuis sept jours, sauf si vous activez Désactiver le délai d’expiration des autorisations adb.
- Vous pouvez toutes les retirer. Révoquer les autorisations de débogage USB, dans les Options pour les développeurs, oublie tous les ordinateurs d’un coup. Désactiver le débogage USB ferme complètement la porte jusqu’à ce que vous le réactiviez.
MTP suit un modèle plus simple : le téléphone doit être déverrouillé, et quiconque tient le câble accède au stockage partagé tant que le Transfert de fichiers est actif. Il n’y a pas d’autorisation par ordinateur.
Ce que chacun permet
| Une app MTP | adb dans le Terminal | SideMount (adb dans le Finder) | |
|---|---|---|---|
| Sur le téléphone | Transfert de fichiers, choisi au branchement | Débogage USB, activé une fois | Débogage USB, activé une fois |
| Copier des fichiers dans les deux sens | Oui | Oui | Oui |
| Fichiers de plus de 4 GB | Selon l’app | Oui | Oui |
| Ouvrir un fichier sur place depuis n’importe quelle app du Mac | Seulement avec une app qui monte le téléphone | Non, il faut d’abord le récupérer | Oui |
| Terminal, scripts et rsync | Non | Ses propres commandes, pas de rsync | Oui, sur le volume |
| Shell sur le téléphone, installation d’apps | Non | Oui | Non |
| En Wi-Fi | Non | Oui, Android 11 ou ultérieur | Oui, Android 11 ou ultérieur |
Le modèle d’objets de MTP explique la plupart de la colonne de gauche. Il distribue des objets entiers par numéro, une opération à la fois, ce qui convient pour glisser des fichiers dans une fenêtre et les en sortir. Le service de fichiers d’adb travaille avec des chemins, ce qu’attendent le Terminal et les scripts, et son shell permet de chercher, déplacer et supprimer des fichiers sur le téléphone sans rien copier.
Un point commun : un seul programme à la fois peut tenir un téléphone. Une seule session MTP, ou une seule connexion adb. Si une app MTP est ouverte, une autre ne peut pas se connecter, et un seul serveur adb peut tenir un téléphone à un instant donné.
Lequel utiliser, et quand
- Une poignée de photos, ou un ordinateur qui ne vous appartient pas. MTP. Rien à activer, et rien à révoquer ensuite.
- Un téléphone professionnel dont les Options pour les développeurs sont verrouillées. MTP, car adb ne vous est pas accessible.
- De gros dossiers, des fichiers de plus de 4 GB, ou tout ce que vous voulez automatiser. adb.
adb pulletadb pushprennent des dossiers entiers, et le shell peut faire le ménage sur le téléphone. - Le téléphone comme un disque dans le Finder. Une app qui crée un volume. SideMount, c’est la voie adb transformée en volume du Finder : il parle lui-même adb par le câble, il n’y a donc ni serveur adb ni Platform-Tools à installer, et toutes les apps du Mac peuvent ouvrir, enregistrer et copier des fichiers sur le téléphone, sur place. Il nécessite macOS 26 ou ultérieur. MacDroid monte aussi les téléphones dans le Finder, en MTP ou en adb.
Si vous utilisez à la fois SideMount et votre propre adb, ils se relaient : quittez votre serveur adb avant de monter le téléphone, et éjecter le téléphone dans le Finder le rend à votre adb. Le guide de configuration détaille la première connexion, et toutes les façons de transférer des fichiers entre Android et un Mac couvre aussi les options sans fil.
Questions
adb est-il plus rapide que MTP ?
Pas par nature. Sur un téléphone récent avec un câble USB 3, les deux transfèrent vite les gros fichiers, et l’app sur l’ordinateur compte davantage que le protocole. Un téléphone ou un câble USB 2 plafonne l’un comme l’autre à environ 20 à 40 MB/s.
Faut-il Android Studio pour utiliser adb ?
Non. adb est fourni avec les SDK Platform-Tools de Google, un petit téléchargement séparé, ou via Homebrew avec brew install --cask android-platform-tools. Certaines apps Mac parlent elles-mêmes adb et n’ont besoin ni de l’un ni de l’autre.
Quelqu’un peut-il copier mes fichiers grâce au débogage USB ?
Seulement depuis un ordinateur que le téléphone a déjà autorisé. Un nouvel ordinateur a besoin que le téléphone soit déverrouillé et que sa demande « Autoriser le débogage USB ? » soit acceptée. Pour être tranquille, utilisez « Révoquer les autorisations de débogage USB » dans les Options pour les développeurs, ou désactivez le débogage USB quand vous n’en avez pas besoin.
Pourquoi adb devices affiche-t-il unauthorized ?
Le téléphone n’a pas encore accepté la clé de cet ordinateur. Déverrouillez-le et cherchez la demande « Autoriser le débogage USB ? ». Si rien n’apparaît, révoquez les autorisations dans les Options pour les développeurs et rebranchez le téléphone pour qu’il pose de nouveau la question.
Votre téléphone Android, dans le Finder.
Gratuit pendant sept jours, sans carte bancaire. macOS 26 ou ultérieur.