它主要由三个部分组成:
客户端,它运行在你的开发机上,你可以通过执行adb命令来唤起一个客户端。其他的工具例如:ADT插件以及DDMS也可以创建一个ADB客户端。
服务端,它运行在你的后台进程,这个服务管理客户端和运行在你模拟起或真机上的守护进程。
守护进程,它运行在每台模拟器或真机的后台进程。
当你启动一个adb客户端的时候,客户端会首先检测是否已经有adb服务进程运行,如果没有运行,那么它会首先启动一个服务进程,当服务进程启动后,服务进程绑定本地的5037端口,并且监听所有来自adb 客户端的命令,所有的adb客户端通过5037与adb 服务端进行交互。
服务端运行之后与所有运行的模拟器或真机建立链接,它通过一组范围从5555 到5585的奇数的端口检索到所有的模拟器或真机。每一台模拟器或真机需要获取一对连续的端口,偶数端口用于控制台的链接,奇数端口用于adb的链接。
当然,如果你用Eclipse开发,并且也安装了ADT插件,那么你没必要通过adb命令行与模拟器或真机交互,ADT插件已经完美的将adb整合进了Eclipse IDE.当然还是提倡多使用adb命令行,这样的话比较方便自定义debug方法,同时也可以更好的理解其工作原理。
Adb命令列表