adb的工作原理

adb的工作原理

adb的工作原理

  • adb是什么

Android 调试桥 (adb) 是一种功能多样的命令行工具,可让您与设备进行通信。adb
命令可用于执行各种设备操作(例如安装和调试应用),并提供对 Unix
shell(可用来在设备上运行各种命令)的访问权限。它是一种客户端-服务器程序,包括以下三个组件:

客户端:用于发送命令。客户端在开发计算机上运行。您可以通过发出 adb 命令来从命令行终端调用客户端。 守护进程
(adbd):在设备上运行命令。守护进程在每个设备上作为后台进程运行。
服务器:管理客户端和守护进程之间的通信。服务器在开发机器上作为后台进程运行。 adb 包含在 Android SDK
平台工具软件包中。您可以使用 SDK 管理器下载此软件包,该管理器会将其安装在 android_sdk/platform-tools/
下。或者,如果您需要独立的 Android SDK 平台工具软件包,可以点击此处进行下载。

要了解如何连接设备以进行 adb 通信,包括如何使用 Connection Assistant
对常见问题进行排查,请参阅在硬件设备上运行应用。

  • adb的工作原理

当您启动某个 adb 客户端时,客户端会先检查是否有 adb 服务器进程正在运行。如果没有,它将启动服务器进程。服务器在启动后会与本地
TCP 端口 5037 绑定,并监听 adb 客户端发出的命令 – 所有 adb 客户端均通过端口 5037 与 adb 服务器通信。

然后,服务器会与所有正在运行的设备建立连接。它通过扫描 5555 到 5585 之间(该范围供前 16
个模拟器使用)的奇数号端口查找模拟器。服务器一旦发现 adb 守护进程
(adbd),便会与相应的端口建立连接。请注意,每个模拟器都使用一对按顺序排列的端口 – 用于控制台连接的偶数号端口和用于 adb
连接的奇数号端口。例如:

模拟器 1,控制台:5554 模拟器 1,adb:5555 模拟器 2,控制台:5556 模拟器 2,adb:5557 依此类推

如上所示,在端口 5555 处与 adb 连接的模拟器与控制台监听端口为 5554 的模拟器是同一个。

服务器与所有设备均建立连接后,您便可以使用 adb 命令访问这些设备。由于服务器管理与设备的连接,并处理来自多个 adb
客户端的命令,因此您可以从任意客户端(或从某个脚本)控制任意设备。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/100712.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • rime android汉字,Rime输入法

    rime android汉字,Rime输入法Rime输入法的安卓版又叫同文输入法,是Rime输入法好几个版本中的一个,适合喜欢调校的人。界面比较简洁,也很小巧,功能就是输入,偏英文输入,支持调整颜色更改外观。Rime输入法简介RIME/中州韻輸入法引擎,是一個跨平臺的輸入法算法框架。基於這一框架,Rime開發者與其他開源社區的參與者在Windows、MacOSX、Linux、Android平臺上創造了不同的輸入法前端實現。Rime…

    2022年7月12日
    32
  • tomcat 配置pfx证书

    tomcat 配置pfx证书server.xmltomcat根目录创建cert文件夹,把文件xx.pfx文件放进去<Connectorport=”80″protocol=”HTTP/1.1″connectionTimeout=”20000″redirectPort=”443″URIEncoding=”UTF-8″/><C…

    2022年5月4日
    161
  • Latex中的空格

    两个quad空格a\qquadb两个m的宽度quad空格a\quadb一个m的宽度大空格a\b1/3m宽度中等空格a\;b2/7m宽度小空格a\,b1/6m宽度没有空格ab

    2022年4月3日
    70
  • android开发之蓝牙配对连接的方法「建议收藏」

    新年第一篇。最近在做蓝牙开锁的小项目,手机去连接单片机总是出现问题,和手机的连接也不稳定,看了不少蓝牙方面的文档,做了个关于蓝牙连接的小结。在做android蓝牙串口连接的时候一般会使用BluetoothSocket tmp = null;// Get a BluetoothSocket for a connection with the// given BluetoothDevi

    2022年3月10日
    52
  • idea创建web项目没有webapp_为什么idea创建不了web项目

    idea创建web项目没有webapp_为什么idea创建不了web项目1、点击菜单栏File→ProjectStructure2、在Modules模块中,增加web配置3、设置web根目录和web.xml文件所在位置。自动生成的目录中,web改成src\main\webapp,如下图4、点击OK,效果如下图…

    2022年9月1日
    4
  • Ubuntu更换Linux内核版本

    Ubuntu更换Linux内核版本Ubuntu14 04 5 默认 Linux 内核版本号是 4 4 0 31 这几天为了换一个低版本的内核 在网上查了蛮多帖子 最后虽然有点小问题 切换内核版本不是很方便 但总算是勉强更换成功 试了几个方法不行后 按照 nbsp https blog csdn net xin yu xin article details nbsp 这篇帖子的方法成功更换 博主的步骤基本没问题 我是一步一步对照着进行的

    2025年7月24日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号