abd是一个C/S架构的应用程序,由三部分组成:运行在PC端的adb client、运行在PC端的adb server、运行在设备或模拟器端的adbd。
adb client:
"adb"命令行要在shell或脚本中运行adb命令,首先adb程序检查adb服务器是否启动,如果未启动,自动启动一个abd服务器,当设备adbd与adb server连接后,adb client就可以通过adb server向adbd发送服务请求
adb server:
adb server是运行在主机的一个后台程序,用来监测USB的连接和拔出,以及模拟器的启动和停止,adb server还需要将adb client请求通过USB或tcp的形式发送到相应的adbd上。
adbd:
设备或模拟器上的后台程序,它的作用是连接adb 服务器,并为允许在主机上的adb client提供一些服务。
注意,这三个可执行程序都是同一套代码编译出来的,位于<Android Source Dir>/system/core/adb/ 目录下, ADB-client和ADB-server对应同一个可执行文件“adb(.exe)”,编译时有-DADB_HOST=1宏。而adbd对应目标设备上的可执行文件”adbd”,编译时的参数是-DADB_HOST=0。
adbd和adb server都只有一个,adb client可以有多个
pc Android
-------------------------------------------------- ----------