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()函数得到的子进程是父进程的复制品,子进程完全复制了父进程的资源,包括进程上下文、代码区、数据区、堆区、栈区、内存信息、打开文件的文件描述符、信号处理函数、进程优先级、进程组号、当前工作目录、根目录、资源限制和控制终端等信息】
热门推荐
播下好种子,培育传承人! “隆平好种子精神传承馆”在广州黄埔开馆
《白发皇妃》:一场权力与爱情的宫廷博弈
《白发》容齐之死:一场震撼人心的悲剧
靖康之变后的宋朝人口大迁徙:南方崛起的秘密
宋朝人口激增背后的经济密码
汴京:宋朝的城市化奇迹
冬日打卡:万州大瀑布的壮丽景色
万州区GDP增速全市第三!经济腾飞的秘密是什么?
笔记本电脑网线连接故障?这些技巧秒解!
告别网线困扰:笔记本连接问题预防指南
天蝎座友谊大揭秘:想和他们成为朋友?先过这五关!
天蝎座的心理学秘密:解码神秘星座的爱恨情仇
天蝎座的爱情密码:深沉还是难以捉摸?
年夜饭大比拼:东北小鸡炖榛蘑PK北京烤鸭
河南生态环境改善,罕见蛇种现身
痛风患者的生活指南:饮食、运动与作息三大要点
双十一后如何用支付宝和微信理财通优化攒钱计划?
西山喷泉的最佳音乐选择:贝多芬《月光奏鸣曲》
三明治怎么做好吃?简单面包片制作教程
复利怎么计算excel
Excel中引用绝对值的多种方法与应用场景
期货回撤是什么意思?这种回撤如何影响投资策略?
如何分析基金的最大回撤率?这种分析对投资决策有什么帮助?
专家详解:如何保障远程监控系统安全
“愈炸愈奋”:重庆大轰炸中的民族精神
探访重庆大轰炸遗址:解放碑下的历史记忆
重庆大轰炸:蒋介石如何坚守抗战?
探访重庆大轰炸遗址:铭记历史,珍爱和平
网友感叹新冠后疑似更易感冒,医学角度看是体质变差还是免疫债
2024年世界慢阻肺日|知道你的肺功能