adb命令获取adb版本的手机 -- adb 领域 android 相关 的问题

ADB commands to get the adb version of mobile phone


7
vote

问题

中文

这可能听起来很愚蠢,但在阅读这个帖子(似乎完整)我仍然没有看到如何获得我的Android的"ABD版本" ,我期望的输出是这样的 Android Debug Bridge version 1.0.31 。我尝试过(基于这个答案) adb shell ,然后 adb version 我得到 /system/bin/sh: version: not found

我想知道的原因是看它是否与我在桌面中的adb版本兼容。谢谢!

更新: 虽然我看不到 adbd 版本的我的android。最后我无所谓,我可以使用最后一个版本的 adb here 。所以谢谢所有人的贡献,因为我没有得到我想要的完整性,它帮助我到达我的问题。

英文原文

This might sound stupid, but after reading this post (which seem complete) I still dont see how to get the "abd version" of my android, the output I expect is something like this Android Debug Bridge version 1.0.31. I tried (based on this answer)adb shell and then adb version and I get /system/bin/sh: version: not found.

The reason I want to know it is to see if it is compatible with the adb version I have in my desk. Thanks!

UPDATE: Although I could not see the adbd version of my android. At the end I did not matter as I could command my phone from my desk using the last release of adb here. So thanks all anyway for their contributions, cuz although I did not get exactly what I wanted it help me to reach the a solution to my problem.

  

回答列表

10
 
vote
vote
最佳答案
 

首先,android以来,Marshmallow自达到adb二进制(客户端),而且只使用adbd(服务器),用于与桌面上的adb客户端进行通信。

简而言之,这就是通信发生的方式:

  • 您的Android设备有 adbd ,一个守护程序,该守护程序在引导过程中启动,并侦听从桌面客户端进行通信的USB默认情况下;
  • 桌面中的 adb 工具作为客户端充当客户端,并在android上向adbd发送请求,您可以运行成功遵守某些条件的adb命令。

如果存在兼容性问题,则会出现adbd折旧或桌面上的adb客户端。要查看版本,请运行:

 adb版本//检查桌面中的adb客户端版本 adb shell adbd --version //检查Android中的Adbd版本。请注意,如果在没有root访问权限的情况下执行,有些用户会报告此错误。 

你不应该担心adbd的版本,但是只有官方adb客户端是向后兼容的。

现在到您最终结束的本地问题。

您错误地执行了命令。无处是链接答案指示执行 adb shell version 。正确的程序是:

 桌面上的adb version // adb版本(客户端) adb shell //通过桌面上的adb客户端在Android设备上启动shell adb version // adb(客户端)二进制文件的版本,用于在棉花糖之前使用Android。 

由于他们打算确定Android中的adb客户端的版本,最后两个命令对您的问题没有相关性。正如我在开始时解释的那样,它是adbd(服务器)单独从Android设备的结束通信,而不是Android中的adb二进制文件。如果可用的,如果可用,则可以使用DINARID在Android中(USB-OTG,WiFi等)或同一设备,如果adbd(服务器)也在网络上侦听。

此外,当您ran adb shell version 时,它意味着:在android上启动shell并执行命令 version 。没有任何名为 version ,所以要执行,因此,您收到了错误。

 

First of all, Android since Marshmallow doesn't come with adb binary (client) anymore, but only with adbd (server), for communication with an adb client on Desktop.

In a nutshell, this is how the communication takes place:

  • your Android device has adbd, a daemon, which is started during boot process, and listens on USB by-default for communication from desktop clients;
  • your adb tool in your desktop acts as a client and sends request to adbd on your Android, and you get to run adb commands successfully subjected to fulfilment of certain conditions.

If there are compatibility concerns, they would arise if adbd is depreciated or adb client on your desktop is. To see the versions, run:

 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.  

You shouldn't be worried about adbd's version but only with adb client version in your Desktop since official adb client is backward compatible.

Now to the localized issues you ended up with.

You incorrectly executed the commands. Nowhere the linked answer instructed to execute adb shell version. The correct procedure is:

 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.  

The last two commands have no relevancy to your question since they intend to ascertain the version of the adb client in your Android. As I explained in the beginning, it is adbd (server) alone which communicates from Android device's end, not the adb binary in the Android. That binary in Android can be used, if available, to talk to other Android devices (USB-OTG, WiFi, etc.) or to the same device if adbd (server) is listening on network too.

Also, when you ran adb shell version, it meant: launch a shell on Android and execute the command version. There is nothing named version which is to be executed, hence, you got the error.

 
 
         
         
2
 
vote

检查ADB版本的Android SDK的正确语法是

 adb版本

在shell时,发出命令

 adb 

 adb帮助

将提供版本的输出和可用的选项和amp;&参数。

您无法获取设备的adb版本,但仅在线程您已找到是合适的。

 

Correct syntax for checking ADB version of Android SDK is

adb version

When in shell, issuing command

adb

or

adb help

will give output of both version and available combinations of options && parameters.

You can not get ADB version of your device, but only properties for which answers in thread you already found is appropriate.

 
 
 
 
0
 
vote

通常无需检查手机上的 adbd 客户端版本,因为它与Android版本相关联。 IE。您可以安全地假设您在Android 5.1设备上获取 abcdefghijklmnadbd 5.1版。很久以前,没有出现巨大的新功能介绍,因此不同版本的adb客户端应该没有差异。

 

There's often no need to check the adbd client version on your phone as it's tied to the Android version. I.e. you can safely assume you get adbd version 5.1 on an Android 5.1 device. There hasn't been great new feature introduction since very long ago so different versions of ADB client should make little difference.

 
 
 
 
-1
 
vote

此处在这两种情况下为我工作的脚本,无论手机上的adbd是否默认(非根)或不安全(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   

这不适用于ChainFire的旧&停止 adb iNecure 应用程序在手机上安装和活动:

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

最有可能因为它适用一个非常过时的insecure adbd(最新在他的包中是来自API / SDK 21 = Android 5),它没有完全与当前桌面adb二进制文件通信。

 

here the script that works for me in both cases regardless if adbd on the phone is default (non-root) or insecure (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 

This does NOT work with Chainfire's old & discontinued adb insecure app installed and active on the phone:

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

most likely because it applies a very outdated insecure adbd (latest in his package is from api/sdk 21 = Android 5) which does not fully communicate with current Desktop adb binaries.

 
 

相关问题

0  我可以复制分区图像,修改,然后将其恢复到Android手机?  ( Can i copy a partition image modify and then restore it back to android phone ) 
我已经开始让我的脏手进入自定义的Android ROM。我有一个没有特定的TWRP恢复的rooted Android设备。我有一个问题是,可以从Android手机,下一步,修改它,并最终使用Linux PC将其恢复到Android手机中的分区图像?谢谢所有人! ...

3  如何从adb shell更改Developer选项中的指针位置设置?  ( How can i change pointer locations setting in developer options from adb shell ) 
我需要能够使用adb从开发人员选项菜单中选择和取消选择"指针位置" 。 adb shell am start -n com.android.settings/.DevelopmentSettings ,但一旦我在那里,我无法弄清楚如何选择和去选择指针位置。 我只是用shell keyevent'xx'来移动焦点,但...

5  通过adb停止媒体播放  ( Stop media playback through adb ) 
我在手机上测试了一些设置,不幸的是,我唯一的控件现在是通过adb立即通过adb。我的问题是,虽然我可以通过以下命令开始播放音乐文件,但我无法停止它,所以我可以执行下一次迭代。 adb shell am start -a android.intent.action.View -d "file:///sdcard/M...

1  尽管明显可用空间,从内部microSD将数据迁移到内部存储时出错  ( Error when migrating data from internal microsd to internal storage despite appa ) 
我有一个moto g3(android 6.0),microdd为2gb,我配置为内部存储。多年来一直在罚款,但我想升级到更大且更快的卡片。所以,我首先试图安全地删除这个microSD。当我尝试将数据从microSD卡迁移到我的手机的内部存储时,它会失败以下消息: 无法移动数据 在原始位置留下的数据 然而,我以为...

2  adb start-server并侦听所有接口  ( Adb start server and listen on all interfaces ) 
ADB在Android 4.3 SDK实现 Abcdefghijklmnabcdefghijklmn0 选项。我想要的是: adb -a start-server 所以后台进程绑定到所有接口,但它不起作用。我需要在Windows上就像这样开始。我已经设法使用以下命令在前台模式下启动服务器: adb -...

1  尽管安装了LG Universal Mobile Drivers,但仍未检测到LG Nexus 5  ( Lg nexus 5 is not detected despite having installed lg universal mobile drivers ) 
我使用Windows 8,adb似乎无法找到我的LG Nexus 5(D821),尽管已经安装了LG Universal Mobile驱动程序(LgunitedMobileDriver_S498MA22_WHQL_ML_VER_2.2)。 adb reboot bootloader 无法找到设备。 我已在USB调试...

0  在同一终端上显示“adb status-window”和“adb logcat”  ( Showing both adb status window and adb logcat on the same terminal ) 
我试图获取 adb status-window 命令以显示任何有用的东西,但它似乎只是显示以下内容: Android调试桥 州:设备 起初,我认为它是因为资源正忙于现有操作 adb logcat ,但停止执行此问题。 这是用于在本地机器之外的设备,并且在亚栏中使用WiFi。 是否有可能立即使用这两个命令? ...

36  adb可以发现设备但不是fastboot  ( Adb can discover devices but not fastboot ) 
我在网上搜索了这个问题,它通常通过安装相应的驱动程序来解决。问题是我在Mac上。 当我插入我的设备时,可以在我运行 adb devices 时发现它。我运行 adb reload bootloader ,它进入下载模式(当上电时按住音量+主按钮的模式)。这样对吗?我认为是。 无论如何,当它在这个阶段时, adb de...

2  adb shell更改相机模式  ( Adb shell change camera mode ) 
我正在使用adb shell来远程控制三星Galaxy S9。 我可以做我想要的大部分事情,但我努力找到一种方法来切换/切换相机模式。 我到处都是搜索,发现了关于这个的很少信息。我只发现了如何在前面或背面朝向相机之间切换,但我希望能够选择慢动作模式。 也许我不是在看正确的地方... 有没有人知道我怎么办? 任何帮...

2  根无法列出/数据中的文件  ( Root cannot list files in data ) 
1|shell@maguro:/ # ls -l /system/xbin/ -rwxr-xr-x root shell 59816 2013-07-11 02:12 dexdump -rwsr-sr-x root root 67008 2013-10-08 17:24 ...

5  adb列出所有转发端口  ( Adb listing all forwarded ports ) 
我使用以下命令将机器端口转发给模拟器 adb转发tcp:1234 TCP:8080 我想查看目前所有端口的转发方式以避免任何冲突。怎么做? ...

15  通过修改default.prop(ro.secure)获取root?  ( Obtaining root by modifying default propro secure ) 
要获取特权shell,您需要将以下行修改为Default.prop文件中给定值 ro.secure = 0 ro.debuggable = 1 persist.service.adb.enable = 1 我有提取的我的手机模型的恢复图像: 因此,可以在默认文件中修改以下值,使用FastBoot重...

0  unbrick联想zuk z1,每分区格式化后  ( Unbrick lenovo zuk z1 after every partition was formatted ) 
砖块我的手机试图在它上安装cyanogenmod。格式化每个分区,包括/引导和/恢复。 手机不能: 引导到主屏幕。 由adb达到。 具有重新启动的引导加载程序。 闪存新的恢复。 手机可以: 在启动循环中陷入困境。 输入zuk恢复。 输入下载模式。 此外,使用adb在手机处于下载模式时查找设备,返回以下内容: ...

0  通过qfil成功闪烁后,手机不会启动/开始  ( Phone wont boot start after successful flashing through qfil ) 
我的手机被砖砌,所以我决定通过qfil用股票roms闪现我的手机lyf f1s,但成功闪烁后它不会启动!!没有任何事情发生,无论我按下哪个音量和电源按钮的组合,当我将其连接到我的充电器或笔记本电脑时,只有充电光闪烁或继续闪烁。请帮忙!! ...

2  在TWRP恢复模式下,触摸屏未在Redmi Y2上工作  ( In twrp recovery mode touch screen is not working on redmi y2 ) 
我想root我的redmi y2设备。我已经解锁了我的引导加载程序,并从adb成功闪烁了Twrp恢复,但它的触摸屏无法正常工作,可能是因为我的设备在恢复模式下支持触摸屏,因为它还使用卷键在它的库存恢复中导航。 是否有任何其他自定义恢复,它使用卷和电源键导航,或者我可以使用adb或其他任何其他方法使用我的电脑捕获Mag...




© 2021 it.wenda123.org All Rights Reserved. 问答之家 版权所有


Licensed under cc by-sa 3.0 with attribution required.