10 votes

Commandes ADB pour obtenir la version adb du téléphone mobile

Ça peut paraître stupide, mais après avoir lu ce poste (qui semblent complètes) Je ne vois toujours pas comment obtenir la "version abd" de mon Android, la sortie que j'attends est quelque chose comme ceci Android Debug Bridge version 1.0.31 . J'ai essayé (sur la base de 本答 ) adb shell et ensuite adb version et j'obtiens /system/bin/sh: version: not found .

La raison pour laquelle je veux la connaître est de voir si elle est compatible avec la version adb que j'ai dans mon bureau. Merci !

UPDATE : Bien que je n'aie pas pu voir le adbd version de mon Android. Au final, cela n'avait pas d'importance puisque je pouvais commander mon téléphone depuis mon bureau en utilisant la dernière version de adb aquí . Merci à tous pour leurs contributions, car même si je n'ai pas obtenu exactement ce que je voulais, cela m'a aidé à trouver une solution à mon problème.

14voto

Firelord Points 23064

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.

2voto

Ka1s3r S0z3 Points 171

La syntaxe correcte pour vérifier la version ADB du SDK Android est la suivante

adb version

Dans l'interpréteur de commandes, la commande

adb

ou

adb help

donnera la version et les combinaisons d'options et de paramètres disponibles.

Vous ne pouvez pas obtenir la version ADB de votre appareil, mais seulement les propriétés pour lesquelles les réponses en filetage que vous avez déjà trouvé est appropriée.

0voto

Guillermo Gomez Points 423

Il n'est souvent pas nécessaire de vérifier le adbd sur votre téléphone car elle est liée à la version Android. C'est-à-dire que vous pouvez supposer sans risque que vous obtenez adbd version 5.1 sur un appareil Android 5.1. Il n'y a pas eu de grande introduction de nouvelles fonctionnalités depuis très longtemps, donc les différentes versions du client ADB devraient faire peu de différence.

-1voto

Lee Binder Points 1

Voici le script qui fonctionne pour moi dans les deux cas, peu importe si adbd sur le téléphone est par défaut (non-Root) ou non sécurisé (Root) :

#!/bin/bash
clear
echo
echo "if adb runs in user (non-root) mode:"
adb shell "su -c adbd --version"
echo
echo "if adb runs in root mode:"
adb shell "adbd --version"
echo

Cela ne fonctionne PAS avec l'ancien système de Chainfire qui a été abandonné. adb non sécurisé installée et active sur le téléphone :

adbd: unrecognized option `--version'
cannot bind 'tcp:5037'

très probablement parce qu'il applique un adbd non sécurisé très obsolète (le dernier dans son paquet est de api/sdk 21 = Android 5) qui ne communique pas entièrement avec les binaires adb actuels de Desktop.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X