一、adb工具的工作原理图

解释一下这张图
1、中间的虚线表示PC与手机的分隔线,左侧是PC、右侧是手机
2、图示中的Client表示adb client进程、Server表示adb server进程(总得都有个名字,就像QQ、微信一样,只不过这里的名字比较简单粗暴……)
3、Client与Server之间的双箭头表示全双工的TCP连接(Network Socket,我猜测是为了兼容性,而未采用UDS,毕竟windows上没有UDS)
4、后台进程5037,指的是adb server进程监听着5037端口
5、图中右侧的adbd,表示手机中的adbd进程
6、5555-5585,指的是adbd作为守护进程(一直在内存中运行的进程,称为守护进程)监听扫描的几个端口号
二、adb工具的通信方式原理图(两种)

方式1:TCP连接
方式2:Usb cable
可以看到在PC端也有个USB端口的驱动程序在工作、Android端当然也有驱动程序在工作
三、证实下Mac下的adb通信
1、adb演绎了进程间通信,为啥我的adb进程占用的端口是18??只代表占据,不代表监听(注意监听二字,进程启动后,可以设定监听哪一个端口),截图中是两个adb client进程的信息

本文详细解析了ADB工具的工作原理,包括其内部进程、通信方式及端口监听机制。探讨了ADBClient与ADBServer间的TCP连接,以及ADB在不同场景下的应用,如AndroidStudio的交互过程。
最低0.47元/天 解锁文章
1597





