Android Debug Bridge (ADB) is a versatile command-line tool that lets you communicate with a device. The adb command facilitates a variety of device actions such as installing and debugging apps and it provides access to a Unix shell that you can use to run a variety of commands on a device. It is a client-server program that includes three components:
A client which runs on your development machine. You can invoke a client from a command-line terminal by issuing an adb command. Other Android tools such as the ADT plugin and DDMS also create adb clients.
A daemon (adb) that runs on the device. The daemon manages incoming requests and outgoing responses between the client and the actual devices.
A server that runs as a background process on your development machine. The server manages communication between the client and the daemon running on the device.