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()函数得到的子进程是父进程的复制品,子进程完全复制了父进程的资源,包括进程上下文、代码区、数据区、堆区、栈区、内存信息、打开文件的文件描述符、信号处理函数、进程优先级、进程组号、当前工作目录、根目录、资源限制和控制终端等信息】
热门推荐
客厅尖角煞如何化解
托拉斯辛迪加卡特尔康采恩:全球垄断组织的法律解析
INTJ 与 ENFJ:灵魂伴侣的可能性及相处要点
溢油事件应急预案
手枪在战场上究竟有什么作用?军官真的拿着手枪战斗吗?基本不会
如何编写开源项目文档
合肥至西藏自驾全攻略:经典路线、必备装备与沿途景点详解
Excel时间表怎么跳过法定假日
世界杯亚洲区预选赛:18强力争8.5个席位,国足惊险晋级列第五档
四川哪个城市的川菜好吃?我推荐泸州的理由如下
如何轻松将网页发布至网络世界:完整上传指南
麻姓的起源与历史:从楚国封邑到现代文化
探索天语金星的神秘面纱(揭开金星的浓密大气层、极端气候及高温地表之谜)
物流信息系统:提升企业效率的关键利器
三段式电流保护大起底:原理、作用及相互关系全解析
领取补贴流程全解:确保权益与合规操作
哪些企业成功应用了人才培养模式创新?
退工单合同终止失业金的相关法律规定与实务分析
一胎补过了,二胎还需要补充叶酸吗?
高考作文中如何运用例证
北京中轴线成功列入世界遗产名录
灵活多变,文章出彩——高考文采训练例谈
年底最后一匹黑马?18000条评论,98%好评,这款俄罗斯二游太癫了
稍觉林影疏,已见东方白。
如何克服失恋的痛苦:五个步骤让你重新站起来!
马来西亚自由行行李打包清单|东南亚国家也适用!
听劝勤换电动牙刷头,3个月磨损对比一目了然
整合6类产品,厨房电器能效标准将于今年9月实施
四君子汤的功效与作用 四君子汤现代应用方法有什么
旅游地理:探索中国东北的奇景与文化