美文网首页
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