adb client, adb server, adbd原理浅析(附带我的操作过程)
来源:互联网 发布:论坛推广软件 编辑:程序博客网 时间:2024/06/02 19:29
adb是什么? adb就是Android调试桥,很形象啊。 先来看adb原理的逻辑图:
再来进行实际操作:我的pc的ip是192.168.1.102, 我的android手机的ip为192.168.1.100
1. 在pc上执行:netstat -nao | findstr 5037
发现结果是空白。
2. 执行adb shell, 肯定是进不了任何shell啊, 然后执行:netstat -nao | findstr 5037
结果是:TCP 127.0.0.1:5037 0.0.0.0:0 LISTENING 3840
可见3840进程正在监听5037端口, 这个进程实际上就是adb server
3. 打开android手机,执行adb connect 192.168.1.100, 请参考我之前的博文, 确保adb能连接上手机哈。
发现, 界面提示adb成功连接上了手机。
执行netstat -nao | findstr 5037, 居然仍然是:TCP 127.0.0.1:5037 0.0.0.0:0 LISTENING 3840
执行adb shell, 进入手机的android系统, 再次在pc的cmd中(非前面的shell中)执行netstat -nao | findstr 5037, 结果为:
TCP 127.0.0.1:1571 127.0.0.1:5037 ESTABLISHED 4496
TCP 127.0.0.1:5037 0.0.0.0:0 LISTENING 3840
TCP 127.0.0.1:5037 127.0.0.1:1571 ESTABLISHED 3840
表明,adb client和adb server建立tcp连接了。
4. 不需要退出上面的shell, 仅在另一个cmd中执行 netstat -nao | findstr 5555, 结果为:
TCP 192.168.1.102:1559 192.168.1.100:5555 ESTABLISHED 3840
表明, adb server和adbd建立起了tcp连接。
5. 前面已经进入了手机的shell, 现在在shell中执行:netstat -nao | busybox grep 5555, 结果为:
tcp 0 0 0.0.0.0:5555 0.0.0.0:* LISTEN
tcp 0 0 192.168.1.100:5555 192.168.1.102:1559 ESTABLISHED
进一步证实, adb server和adbd建立起了tcp连接。
归纳:
adb client(pid:4496) <--->adb server(监听5037端口, pid:3840)<--->adbd(监听5555端口, pid:未显示)
|<------------------------------- 在 pc 端 ------------------------------> | |<------------ 在手机端------------>|
其中, adb server作为adb client的服务端, 而adbd又作为adb server的服务端, 实际上就是下面这个意思:
儿子 <------------------------------> 爸爸<------------------------------------->爷爷
前面我们已经说过, 也可以利用数据线来进行连接, 这里, 我就不过多再赘述了, 原理大体类似, 为了让大家更清晰, 我借鉴了网上的一幅图, 这幅图很强大, 真是太棒了:
一图胜千言万语
突然, 我想起了小时候, 一个老人给我出的题: 两个爸爸和两个儿子, 要均分3个同样的苹果, 不允许切割, 请问怎么分?
不闲扯了, 关机。去楼下买点东西吃吃, 逛逛, 回来看看毕淑敏的书, 明天还要上班呢!
- adb client, adb server, adbd原理浅析(附带我的操作过程)
- adb client, adb server, adbd原理浅析(附带我的操作过程)
- adb client, adb server, adbd原理浅析
- adb client, adb server, adbd原理浅析
- adb client, adb server, adbd原理浅析
- adb client, adb server, adbd原理浅析
- ADB Client, ADB Server, adbd原理浅析(转)
- Android ADB工具 adb,adbd,client,server之间的关系
- ADB工具 adb,adbd,client,server之间的关系
- adb 深入分析一1、adb模块的源码路径,源码编译生成的结果。 2、adb模块分为adb client、adb server、services、adbd daemon几个模块。 3、adb通讯模
- android6.0 adbd深入分析(五)adbd处理adb root的一个bug
- android adb adbd analyse
- android adb adbd analyse
- Android adb adbd Analyse
- android adb adbd analyse
- adb和adbd分析
- adb和adbd分析
- 解决adb的adb server version (32) doesn't match this client (36)或(35)
- 剖析网页从浏览器输入地址到加载完毕的全过程——建立连接
- 练习题(2)
- 并发管理器2——OPP的概念
- weblogic eclipse 运行web应用程序
- 三十分钟掌握STL
- adb client, adb server, adbd原理浅析(附带我的操作过程)
- Javascript 对象方式实现命名参数调用(下):自动包装偏函数
- 深入理解JavaScript中的prototype和call()的作用
- opencv 模板匹配目标检测
- MOOC程序设计期中考试1.1
- Oracle学习笔记(三)多表查询(一)
- python即时标记
- NYOJ【搜索】三个水杯
- java实现简单web服务器(分析+源代码)