ADB命令使用手册

概述

Adb作为PC和Android设备交互与通信的工具

Android调试桥接,Android DebugBridge,它是一个CS架构的命令行工具,作用就是PC通过adb来操作手机

Adb的组成

客户端(client):所有命令都是PC发起,可以对Android应用进行安装,卸载和调试(可以有多个窗口或程序发送命令)

服务端(server):管理客户端到Android设备上adb后台进程的连接(不同客户端发来的命令都由服务器负责和Android设备通信,他们之间的通信都是通过5037端口连接)

守护进程:Android后台运行的进程,负责接收命令(ADB服务器和守护进程的通信是通过相邻的两个端口实现的,偶数端口(比如5554)负责处理命令行的通信,奇数端口(比如5555)是用来保持连接的,我们可以看到,adb服务器可以和多台设备连接,每连接一个,会分配两个相邻的端口出来,第一对是5554/5555,第二对就是5556/5557,相对应的,我们adb连接多台设备的时候,需要指定端口号或者设备名称,服务器会找到对应的设备,进行通信)

ADB命令使用手册_第1张图片
adb原理图

Adb环境配置

下载SDK-------将tools和platform-tools两个目录配置到系统环境变量PATH中-----这样就可以直接在命令行中使用adb命令进行验证了

ADB命令

ADB基本命令格式

adb [-e | -d | -s<设备序列号>]<子命令>


ADB命令使用手册_第2张图片
adb命令基本格式

文件传输和安装命令

ADB命令使用手册_第3张图片
文件传输和安装命令

获取信息命令

ADB命令使用手册_第4张图片
获取信息命令

Log与重启相关命令

ADB命令使用手册_第5张图片
Log与重启相关命令

Adb备份与恢复命令

ADB命令使用手册_第6张图片
Adb备份与恢复命令

这两个命令可以实现数据的备份以及两台手机间的数据恢复等场景

如下图的操作步骤可以将手机完全备份,备份的过程中可以进行加密,这样恢复的时候也需要密码

ADB命令使用手册_第7张图片
备份与恢复

Adb重定向端口命令

端口映射模型

将开发PC上的端口(1314)重定向到设备的端口(5200)上,这样所有发往PC端口1314的数据都会被转发到设备端口5200。

这个机制可以实现远程控制Android设备应用。

如下图

ADB命令使用手册_第8张图片
Adb重定向原理

具体命令如下表格,具体应用后续如果使用到再进行补充

ADB命令使用手册_第9张图片
Adb重定向端口命令

Adb无线连接与文件同步

Adb无线连接可以不使用USB来直接调试Android设备,这样就是通过TCP/IP连接来操作设备,其实和操作模拟器的原理是一致的

ADB命令使用手册_第10张图片
Adb无线连接与文件同步

同步文件的使用场景多为有多个so文件等需要同步,如果一个个删除再push的话会耗费很大的工作量,这时候使用同步命令

无线连接和同步的具体操作后续完善补充

Adb连接问题

Adb list of devices attached

Windows:

首先安装驱动程序,看设备管理器驱动是否安装成功,不能安装驱动可以借助随便一个手机助手解决

然后打开手机开发者选项中的usb调试,并允许电脑始终对手机usb调试

连不了的时候首先用adb kill-server和adb start-server进行重启adb,或者用命令查看是哪个进程占用了5037端口,然后进行释放

参考:http://blog.csdn.net/johnnycode/article/details/7678083

这时候如果这些准备好的话应该是可以正常连接的,我们的手机序号应该已经写入了Windows下的.android隐藏目录下的adb_usb.ini文件,但还是同样的adb list of devices attached,这时候我们要考虑自动连接写入的adb设备号是否和我们终端使用的adb为同一个路径,在合适的位置写入正确的设备号即可,亲测有效,记得加0x

参考:http://blog.csdn.net/join_12/article/details/45970717

Ubuntu:和Windows下的基本思路是一致的,具体的操作方法参考如下帖子:

http://blog.csdn.net/mr_driver/article/details/8449642

Adb devices offline

端口抢占,可以参考上述方法解决

你可能感兴趣的:(ADB命令使用手册)