ADB基本命令和简介
ADB就是Android Debug Bridge,Android调试桥的意思,很形象。需要在电脑上安装SDK Platform Tools 对应的版本才能使用
基于ADB的工具: DDMS ,monkey 测试
测试人员熟知的ADB相关命令有 adb devices / adb shell "dumpsys meminfo,cpuinfo"/ adb push/ adb pull /adb install / adb uninstall 等等
那么adb到底是如何和手机端建立连接并进行交互的呢?
ADB运行原理:
adb分为三个部分:PC上的adb client,adb server和手机(也可能是PC上的模拟器)上的adb daemon。
这是一个多多连接的设计。即一台PC可以连接多个手机,一台手机也可以连接多个PC。
1、ADB Client:注意这里的Client和Daemon不是一一对应的,Client比如Eclipse DDMS,Windows终端命令行,豌豆荚等。Client本质上就是Shell,用来发送命令给Server。发送命令时,首先检测PC上有没有启动Server,如果没有Server,则自动启动一个Server,然后将命令发送到Server,并不关心命令发送过去以后会怎样。
2、ADB Server:运行在PC上的后台程序,目的是检测USB接口何时连接或者移除设备。ADB Server维护着一个“已连接的设备的链表”,并且为每一个设备标记了一个状态:offline,bootloader,recovery或者online;Server一直在做一些循环和等待,以协调client和Server还有daemon之间的通信。offline说明Server发现了一个设备,但是不能成功连接到Daemon----这样最好重启一下手机。
3、ADB Daemon:程序“adbd”作为一个后台进程在Android设备或模拟器系统中运行。它的作用是连接ADB服务器,并且为运行在主机上的客户端提供一些服务;
Client和Server之间还是要通过TCP/IP通信的,Server侦听本机的5037端口,Client试图去连接这个端口。
我们看到,在没有client的时候,server进程孤独的侦听着5037口 (执行命令: netstat -nao | findstr 5037 )
在有client的时候,client和server建立了连接。
通过ADB无线连接终端:
1、通过adb usb打开设备上的tcpip服务并绑定一个端口:adb tcpip 5555
![](https://i-blog.csdnimg.cn/blog_migrate/8ab6c68d74088b0faa813323f4a11a2a.webp?x-image-process=image/format,png)
2、ADB Client通过命令:adb connect ip连接远程的终端
![](https://i-blog.csdnimg.cn/blog_migrate/5883b6348cea67bde2d15292eb288c2c.webp?x-image-process=image/format,png)
3、随后就可以正常执行adb命令
![](https://i-blog.csdnimg.cn/blog_migrate/dd92ce3752a22bb8ef1c550c7944b91c.webp?x-image-process=image/format,png)