我不断获得使用建议的`adb`实用程序是什么?


10

在一堆本网站的问题,我看到的答案告诉我们执行adb shelladb logcat等等。

现在,我不是一个完全笨拙的用户,因此我下载并安装了Termux,并在可以键入命令时出现一个shell提示,但是-这个adb东西是从哪里来的?我可以将其下载为应用程序吗?它似乎没有默认安装(在Redmi 3S上,Android 6.0.1)。

另外,似乎这是某种许可电梯。像su吗?如果没有,那有什么不同?



@RahulGopi:是的,我只是认为网站上的答案可能很简洁。
einpoklum

5
这是我们的adb标签Wiki中描述的工具,链接了资源–告诉我,在我猜之前:)记住:我们的许多标签都有不错的Wiki :)在我们的网站上也可以看到:什么是ADB以及为什么使用它对于?如何在我的设备上安装它?
伊兹

ADB是用于连接鼠标和键盘到国家的最先进的计算机。

Answers:


33

关于 adb

简而言之,adb(Android Debug Bridge)是一种实用程序,可以安装在计算机上,以使其在通过USB电缆连接或在同一Wi-Fi网络上的手机上获得外壳。

在某些运行Android Lollipop(5.1.1)以及可能更低版本的操作系统的设备上,由于adb客户端也捆绑在手机中,因此有可能欺骗设备使其自身连接。这是不可能的,因为从Android Marshmallow(6.0)开始,Googleadb从手机中删除了二进制文件,以减少可用的攻击面。

但是,可以adb在电话上手动重新引入客户端,而无需自己编译二进制文件。有关此主题以及有关在计算机上安装和常规疑难解答的更多信息,请参考adb标签wiki


从哪里获得

前一段时间,为了获得adb另一个名为的实用程序fastboot,如果他们想要一个官方软件包,则必须从Google下载完整的Android SDK。正如XDA所说,如今已经有一个小型的官方捆绑包。它包括最常见的操作系统的二进制文件。


怎么运行的

adb安装在计算机上的客户端通过内部服务器连接到已插入或可检测到的电话。然后,用户将能够向电话本身发送各种命令adbd,驻留在电话上的守护程序将监听该命令。

使用时adb,您将模拟用户shell(UID 2000)。该用户的特殊之处在于,与简单用户相比,他们可以授予应用权限并访问更多信息。但是,此事实并不意味着adb与相同su,因为后者使您可以模拟任何用户。

有关adb其工作的更多信息,请查看官方文档


从电话发出命令

可以通过发出的大多数命令adb往往是预先安装在手机中的实用程序。

为了访问它们,您需要在手机上安装终端仿真器应用程序(请注意Termux是特殊的,因为它指定了自己的PATH,因此忽略了系统二进制文件)。例如,这将使您可以logcat直接在移动设备上发出命令。不过,请记住省略adb前缀。

值得一提的是,如果您没有root权限,则可以执行的命令范围和可以访问的信息将大大少于使用using adb,因为调用它们的UID将是应用本身,并且应用的权限比UID少2000


做得好!不幸的是,我不能两次投票:) //是的,我们的Wiki经常是“未知数量”。无法经常指向那里。但是在其中提到的任何答案中都包括一个链接,恕我直言:) IMHO合适的地方(如此处:“以获取更多详细信息……”),这是个好主意。随时进行–我同时进行评论清理:)
Izzy

@Izzy好点。让我们拭目以待,看看是否确实需要发送垃圾邮件。
Grimoire

请给我投票。
iBug

@iBug我很荣幸。
Grimoire

2

Android调试桥(ADB)

它通过USB或Wifi将命令发送到android设备。它通常安装在连接到该设备的计算机上。ADB客户端也可以在设备本身上运行,但是其想法是远程调试设备。

它是Android软件开发套件的一部分

然后,您可以使用SDK管理器下载平台工具。

如果您只是对平台工具感兴趣,这里还有一个更直接的链接

亚行文件


等待,如果尚未将其安装在设备上,为什么人们建议我在设备的外壳中使用它?例如在我给的例子中?
einpoklum

那是个很好的观点。说adb命令是连接到android设备的“客户端”,也许更正确。android设备上也可以安装客户端,因为为什么不这样。但这有点像运行ssh localhost
jdwolf

老实说,文档很好地解释了这一切:developer.android.com/studio/command-line/adb.html
jdwolf
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.