adb协议之sync服务

看了一下网络上翻译的sync.txt有点生硬。自己看了一遍原版的,做一下整理总结。

注:网上的翻译文章是“《MonkeyRunner源码剖析》ADB协议及服务: ADB协议概览SYNC.TXT翻译参考”。

同步模式

adb通信有普通模式和同步模式,在普通模式下给adb服务发送“sync:”指令后,adb服务以普通模式的协议答复“OKAY”或者“FAIL”,然后,adb和客户端之间的交互就进入同步模式。

接下来,sync.txt中表达了这么一个意思:进入同步模式后呢,adb服务和客户端之间交互接下来就是频繁地交互8字节包,也就是:你丢8字节给我,我回8字节给你。sync.txt中戏称这你一来我往为:同步请求和同步应答。而这8字节包的格式:4字节命令+4字节长度(小端整数)。

而实际使用中,压根没看到什么你来我往的8字节包,而是4字节标识+内容数据的方式。其中内容数据=内容长度+数据。

例如:

请求发出:LIST+长度+内容

服务应答:DENT+文件模型值+文件长度值+文件时间+文件名长度+文件名

所以,不要sync.txt给误导了。

其中,命令四个字节就是四个字符而已,目前只有4个,分别是:

LIST        列举文件夹中的文件

RECV      收取设备(一般来说就是手机啦)上的一个文件

SEND       发送一个文件到设备里面去

STAT        估计是搞一个文件的属性下来

可以根据需要使用以上四个命令。

猜你喜欢

转载自blog.csdn.net/henysugar/article/details/121773790