arm-linux

http://armboard.taobao.com/

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

随笔分类 -  android adb

摘要:本文尝试列举客户端能够发送给ADB服务器的所有请求。关于adb客户端、adb服务器、adbd守护进程、adb服务的概念,以及这些组件如何相互配合完成ADB工作的细节,请参考之前发的文章《Android Debug Bridge 技术实现》。==============================主机服务==============================host:version 请求ADB服务器的内部版本号。作为一个特殊的例外,服务器将用4字节的十六进制字符串回应,返回服务器内部版本号,回应中没有“OKAY”和“FAIL”。host:kill 请求ADB服务器立即退出。用于AD.. 阅读全文
posted @ 2011-02-16 20:34 arm-linux 阅读(2715) 评论(0) 推荐(0) 编辑

摘要:adb通信分为两部分:adb client和adb server,以及adb server和adb daemon。 client和server之间的通信协议adb server对本地的tcp 5037号端口进行监听,等待adb client的命令。client的每个命令都会包含两个部分,前一部分固定4个字节,以十六进制方式指定命令部分的长度。后一部分是真正的内容。发送命令的接口为writex,并最终调用_fh_socket_write,通过send发送出去。因此这两部分至少需要发送两个tcp包。例如想要获取adb server的版本号,client首先连接本机的tcp 5037端口,然后发送 阅读全文
posted @ 2011-02-16 20:31 arm-linux 阅读(7426) 评论(1) 推荐(1) 编辑

摘要:浅析linux开发工具adb具体实现浅析linux开发工具adb具体实现《再次浅析adb shell,pc daemon和手机daemon三者之间的数据交互流程》《浅析adb创建流程》//===============================adb启动shell用到的命令export ADBHOST=192.168.100.2adb kill-serveradb start-server11:31:27adb shell //===============================让我们来分析一下对应的代码adb start-server==>main==>adb_c 阅读全文
posted @ 2011-02-16 11:35 arm-linux 阅读(5880) 评论(0) 推荐(0) 编辑

摘要:Adb源码学习 关于 init_transport_registration函数 在初始化 transport注册系统时,创建一对 sockpair( transport_registration_send, transport_registration_recv)用于异步处理注册事件 , 并在 transport_registration_recv上安装一个异步事件回调函数 transport_registration_func. 当向 adb系统中注册 /删除一个 transport时,会调用 transport_write_action将一个 tmsg写入到 transport_regi 阅读全文
posted @ 2011-02-15 17:18 arm-linux 阅读(5096) 评论(0) 推荐(0) 编辑