关键词:Android,MUMU,APP,ADB
一、adb原理图
adb原理图2.jpg
adb相关的有三个端,分别是adb client 客户端,adb server 服务器,Daemon(adbd)守护进程。客户端和服务器存在于PC之中,守护进程存在于手机中。
二、验证adb原理
1)打开模拟器或者真机
打开mumu.png
2)连接mumu模拟器
连接mumu.png
3)分析
注意到,第二步是我们打的第一个adb命令。
通过tasklist查看到OS多了一个adb进程。再通过netstat查看到这个1184进程占用的端口是5037。根据adb原理图1,得知此adb是服务端。
image.png
通过windows任务管理器详细信息,得到此adb.exe是sdk platform-tools的adb.exe
打开adb所在的位置.png
sdk中adb.png
但是此时并没有adb客户端。很有可能adb客户端把命令发给服务端后,客户端进程退出。服务端不会退出,处于监听状态(根据adb原理图2)
就算是打adb devices同样,查不到adb客户端
adb devices.png
查看os adb进程.png
为了保证adb不退出,我们打adb shell。
这个时候,再次查看os adb进程发现多了一个6072进程。
查看adb进程.png
再次通过任务管理器 详细信息,发现还是sdk下的platform-tools的adb.exe
任务管理器 详细信息.png
sdk-adb.png
!!!真相只有一个,原来所谓的adb服务端和客户端都是sdk下的adb.exe
验证守护进程
adb shell后使用netstat发现有一个273进程(adbd)占用5555端口,此进程即为守护进程。
PS:adb shell退出会话,再次查看adb进程,客户端进程退出,只有服务器处于监听状态,由此百分百确认,客户端发送命令完成后会自动退出。
网友评论