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()函数得到的子进程是父进程的复制品,子进程完全复制了父进程的资源,包括进程上下文、代码区、数据区、堆区、栈区、内存信息、打开文件的文件描述符、信号处理函数、进程优先级、进程组号、当前工作目录、根目录、资源限制和控制终端等信息】
热门推荐
老人的日常生活护理知识
半瘫老人护理经验分享
伟人故里:湘潭市的红色记忆
湘潭:湖湘文化名城的古今交融
BBC《行星》:太阳系的前世今生
演绎“种田”变迁反映乡村巨变 原创现代楚剧《田耕牛本传》精彩上演
神农谷国家森林公园:株洲必打卡景点推荐
株洲古迹:过路街与关帝庙的历史见证
年货大集:春节经济的“助推器”
春节暴利小生意:年货礼盒和春联的经营之道
“晋国霸业——山西晋国文物精华展”亮相甘肃简牍博物馆
株洲市最新经济报告出炉:未来可期!
珠洲市必打卡:美景+美食全攻略
重庆首个数字化配电网示范区在北碚建成
创新引领产业升级 醴陵县域经济持续领跑
千年瓷都的五彩传奇:醴陵釉下五彩瓷的传承与创新
打卡“醴陵八景”:感受千年瓷都的独特魅力
北京世纪坛医院专家详解:伤风感冒的科学防治指南
冬季运动,告别伤风感冒!
秋冬防感冒,流感疫苗来帮忙!
便秘怎么办?推荐4个生活习惯与4类高纤维食物,有效改善便秘这样做
预计72亿人次春运期间自驾出行 这些安全提示请查收
探索商洛精华:最全旅游线路规划与攻略
北碚巡江步道:一条与众不同的沿江风光之旅
普通感冒痊愈时间揭秘:你真的了解吗?
中医养生三招助你轻松应对感冒
王者荣耀:瑶典藏皮肤“拾光映像”即将上线!荣耀水晶获取攻略全解析
青辣椒腌制教程:从选材到成品的详细步骤
挑战1个月不同菜品搭配—青椒的多样吃法
关于跑步和排便,这里有一些你应该知道的冷知识