adb适用于电脑与android设备进行调试的工具。可以

   *运行设备的shell(命令行)

   * 管理模拟器或设备的端口映射

   * 计算机和设备之间上传/下载文件

   * 将本地apk软件安装到模拟器或android设备

   前期准备请看这里http://which.blog.51cto.com/blog/7179876/1221602。这也是我当前移植所用的环境。

   adb的源码在android目录/system/core/adb下。单独编译Adb命令可在android项目顶层目录下运行make adb。清除编译结果可以运行make clean-adb。

   adb源码根据ADB_HOST的宏是否为真编译成android端和PC端的可执行程序。并且,PC端部分的程序还会根据运行时命令参数不同而执行不同的操作。

   一个adb命令的运行会存在三个实体。

Adb移植(一)简单分析_adb移植


   其中client与server属于PC端,ADB_HOST为真时编译所得程序。daemon为ADB_HOST为假时编译所得,并运行在android端程序。