美文网首页
Android物语:adb 介绍

Android物语:adb 介绍

作者: 非著名自行车运动员 | 来源:发表于2020-12-10 10:20 被阅读0次

adb简介

Android Debug Bridge (adb) 是一个Android的命令行工具。可以用来连接模拟器或实际的移动设备。比如 adb logcat, adb shell。Dalvik Debug Monitor Server(DDMS) 后台也是运行的adb来实现监控调试移动设备。

adb 原理

adb允许我们与模拟器或连接的 Android 设备进行通信。并提供对 Unix shell(可用来在模拟器或连接的设备上运行各种命令)的访问。该工具是一个C/S架构实现的程序,包括三个组件:

  • ADB Client:运行在PC上,通过在命令行执行adb,就启动了ADB Client程序
  • ADB Server:运行于PC的后台进程,用于管理ADB Client和Daemon间的通信
  • ADB Daemon (即adbd) :运行在模拟器或移动设备上的后台服务。当Android系统启动时,由init程序启动adbd。如果adbd挂了,则adbd会由init重新启动。

您可以在 android_sdk/platform-tools/ 中找到 adb 工具。


image.png

adb执行过程

  • 1.Client 调用某个 adb 命令
  • 2.adb 进程 fork 出一个子进程作为 Server
  • 3.Server 查找当前连接的 emulator/device
  • 4.Server 接收到来自 Client 请求
  • 5.Server 处理请求,将本地处理不了的请求发给 emulator/device
  • 6.位于 emulator/device 的 adbd拿到请求后交给对应的java虚拟机进程。
  • 7.adbd 将结果发回给 Server
  • 8.Server 将结果发回给 Client
image.png

Q&A

Q:PC上为什么要有一个ADB Server,而不是ADB Client 和 ADB Daemon 直接通信呢?

A:因为 ADB 是一个需要支持多对多架构的工具,一个PC可以连接多台手机设备或虚拟机,一个手机也可以同时连接多台PC。就需要一个统一的Sever管理多个设备的连接。

相关文章

网友评论

      本文标题:Android物语:adb 介绍

      本文链接:https://www.haomeiwen.com/subject/jfylgktx.html