Android

What is ADB? Android Debug Bridge Explained

Springmusk Springmusk 3 min read 4 comments
Android smartphone lying on a desk

ADB (Android Debug Bridge) is a command-line tool that lets your computer talk to an Android device. You install APKs, run shell commands, move files, read system logs, and change settings – all from a terminal.

TL;DR: ADB is a client-server tool in the Android SDK Platform Tools that lets your computer control an Android device from the terminal. The client talks to a background server on TCP port 5037, which relays commands to the adbd daemon on the device. Connect over USB or, on Android 11+, over Wi-Fi with one-time pairing.

It ships inside the Android SDK Platform Tools package. If you debug Android apps, you already have it. If not, see the install guide: one download, no Android Studio required.

How it works: client, server, daemon

ADB runs three cooperating parts:

Component Location Function Port
Client Your computer Sends commands –
Server Your computer (background) Manages communication 5037
Daemon (adbd) Android device Executes commands Dynamic

Client. When you type adb devices or adb install app.apk, you are using the client.

Server. A background process on your computer that routes between the client and the daemon. It starts automatically with your first ADB command and binds to TCP port 5037.

Daemon (adbd). Runs on the device. Executes the commands and returns results. It starts when you enable USB debugging.

One command’s journey:

  1. You type a command (client).
  2. The client connects to the server on port 5037.
  3. The server locates your device over USB or network.
  4. The server forwards the command to the daemon.
  5. The daemon executes it and results come back the same way.

Connection methods

Method Android version Setup Speed Range
USB cable All Easy Fast Cable length (~3 m)
WiFi (pairing) 11+ Medium Medium WiFi range
WiFi (legacy tcpip) All Complex Medium WiFi range

USB needs USB debugging enabled and the RSA authorization prompt accepted on first connect. WiFi on Android 11+ pairs with a QR code or a 6-digit code and uses dynamic ports.

Security notes

ADB is powerful access, so treat it that way:

  • First connection prompts you. Android asks you to authorize each new computer, and it remembers your choice. Never approve a prompt you did not trigger.
  • Don’t leave USB debugging on permanently. Enable it when you are debugging, disable it when you are done. It reduces what a physical attacker can do.
  • Wireless debugging is network-exposed. Android 11+ protects it with pairing authentication, but turn it off when the session ends and never leave it on over public WiFi.

Key milestones

Year Milestone
2008 ADB ships with the first public Android SDK (1.0, released 23 September 2008)
2017 Android 8.0 Oreo replaces the global “unknown sources” switch with a per-app “Install unknown apps” permission
2020 Android 11 (API 30) introduces native wireless debugging: one-time pairing with a 6-digit code over TLS, no USB cable needed

Key takeaways

  • ADB is three parts: the adb client you type commands into, a background server on TCP port 5037, and the adbd daemon on the device.
  • It ships with the Android SDK Platform Tools, available standalone since the first SDK release in 2008 — no Android Studio required.
  • Connect over USB or wirelessly: Android 11+ uses one-time 6-digit pairing with TLS encryption; older devices use legacy adb tcpip on port 5555.
  • Every new computer triggers an authorization prompt on the device — never approve one you did not start, and turn off USB debugging when you are done.

References: Android Debug Bridge (adb) – Android Developers

>

Part of the series: The Complete ADB Guide — also in this series: Install ADB · Essential Commands · Wireless ADB · Troubleshooting

4 comments

Join the discussion

Your email address will not be published. Required fields are marked *