02-adb的工作原理和常见命令
创作时间:
作者:
@小白创作中心
02-adb的工作原理和常见命令
引用
CSDN
1.
https://blog.csdn.net/zhangzhan0813/article/details/139655948
什么是adb?
ADB是Android Debug Bridge的简称,是Android平台的调试工具。通过adb命令可以获取安卓设备上的信息,也可以直接操作管理Android模拟器或者真实的Android设备。
ADB采用客户端-服务端程序架构(C-S架构),主要包含以下三个组件:
- 客户端(adb client):运行在PC上,用来发送adb命令。
- 服务端(adb server):运行在PC上的一个守护进程,用来管理adb client端和Android设备上的adbd进程之间的通信。具体有以下两个作用:
- 检测USB端口感知设备的连接和拔除,以及模拟器实例的启动或停止。
- 将adb client的请求通过USB或者TCP的方式发送给Android设备上的adbd进程进行处理。
- 守护程序(adbd):运行在Android设备(真机/模拟器)后台的一个进程,它的主要作用是处理来自adb server的命令,然后获取对应Android设备的信息,最后将结果返回给adb server。
adb的工作原理
当启动某个adb client时,该客户端会先检查是否有adb server进程正在运行。如果没有,它会先启动服务器进程,服务器进程在启动后会绑定到5037端口,并监听adb client发出的命令(所有adb client均通过5037端口与adb server进行通信)。如下图:
然后,服务器会与所有正在运行的设备建立连接,建立连接后,你便可以使用adb命令访问这些设备,由于服务器管理着设备的连接,并处理来自多个adb client的命令,因此你可以从任意客户端控制任意设备。
adb的通信流程
- 我们通过命令行界面或者Android Studio工具等直接或间接地调用某个adb命令,比如adb install或者adb devices。
- 这时候adb client进程会fork出一个子进程作为adb server,而这个fork出的进程将常驻PC端,监听来自adb client端的请求。【fork()函数用于从一个已经存在的进程内创建一个新的进程,新的进程称为“子进程”,相应地称创建子进程的进程为“父进程”。使用fork()函数得到的子进程是父进程的复制品,子进程完全复制了父进程的资源,包括进程上下文、代码区、数据区、堆区、栈区、内存信息、打开文件的文件描述符、信号处理函数、进程优先级、进程组号、当前工作目录、根目录、资源限制和控制终端等信息】
热门推荐
降息时刻!美联储,重磅来袭!
微笑天使萨摩耶日常饲养全指南(了解如何照顾你的萨摩耶,让它一直微笑着)
闪闪发亮的动物生肖:鼠、龙、虎、蛇、马的文化内涵
ZIP源码打包完整指南:从工具选择到分发使用
如何开发硬件驱动程序
隧道行车安全指南:这些关键要点请牢记
隧道行车要注意!若是忽视了,危险会降临你身边
艾灸可以治胃疼吗
你了解了这些背景知识,CNN卷积神经网络就好理解了!
防晒衣选购指南:如何挑选既防晒又透气的防晒衣?
探索六大基础茶类:了解茶的多样世界
五一假期就去这玩!广东佛山文旅第一镇,绝对是岭南文旅的天花板
Excel没有特殊符号怎么导入
治疗坐骨神经痛的8个用药方案
坐骨神经痛吃什么?专家告诉你吃什么水果、保健食品和饮食禁忌
好山好水出好药丨如何种出好药材?三七地里有“科技”
从不夜城到胖东来,文旅商综合体风口下的“泡沫”与“真金”
女性一生中最重要的三个关键时期,需要着重补充哪些营养素?
女人更年期多吃4种食物
越来越多孩子近视,我们可以做些什么?
新版2025中国大学排名出炉,6所“双非”高校跻身国内百强
如果在日本旅遊中發生海嘯該怎麼辦?介紹海嘯警報和避難用品的種類
日本发布史上首个特大地震预警,依据是什么?大地震真要发生吗?
常见工业污水处理应用到的设备类型及应用特点
MQTT入门指南:2025年最全面的初学者教程
《亚述》:辨析帝国之始
称重自助餐计价模式对比:荤素同价VS按菜品称重
扫描电镜SEM/透射电镜TEM的样品制样要求-科学指南针
扫描电镜SEM/透射电镜TEM的样品制样要求-科学指南针
超全的长沙南站乘车、换乘指南!