Tout d'abord, Android depuis Marshmallow ne vient plus avec le binaire adb (client), mais seulement avec adbd (serveur), pour la communication avec un client adb sur le bureau.
En un mot, c'est ainsi que se déroule la communication :
- votre appareil Android a adbd Il s'agit d'un démon, qui est lancé pendant le processus de démarrage et qui écoute sur USB par défaut pour les communications des clients du bureau ;
- votre adb sur votre bureau agit comme un client et envoie une requête à adbd sur votre Android, et vous pouvez exécuter les commandes adb avec succès si certaines conditions sont remplies.
S'il y a des problèmes de compatibilité, ils se poseront si adbd est déprécié ou si le client adb sur votre bureau l'est. Pour voir les versions, exécutez :
adb version // to check adb client version in your desktop
adb shell adbd --version // to check adbd's version in your Android. Please note that some users reported error with this if executed without root access.
Vous ne devriez pas vous préoccuper de la version d'adbd mais seulement de la version du client adb sur votre bureau car le client adb officiel est rétrocompatible .
Passons maintenant aux problèmes localisés que vous avez rencontrés.
Vous avez mal exécuté les commandes. Nulle part le réponse liée chargé d'exécuter adb shell version
. La procédure correcte est la suivante :
adb version // adb version (client) on your Desktop
adb shell // launches shell on your Android device through adb client on Desktop
adb version // the version of adb (client) binary that used to come with Android prior to Marshmallow.
Les deux dernières commandes n'ont aucun rapport avec votre question puisqu'elles visent à vérifier la version du client adb dans votre Android. Comme je l'ai expliqué au début, c'est adbd (serveur) seul qui communique du côté de l'appareil Android, et non le binaire adb dans Android. Ce binaire dans Android peut être utilisé, s'il est disponible, pour communiquer avec d'autres appareils Android (USB-OTG, WiFi, etc.) ou avec le même appareil si adbd (serveur) écoute aussi sur le réseau.
Aussi, quand vous avez lancé adb shell version
cela signifie : lancer un shell sur Android et exécuter la commande version
. Il n'y a rien de nommé version
qui doit être exécuté, d'où l'erreur.