The Android Debug Bridge (ADB) is a versatile command line tool that lets you communicate with and control an Android-powered device over a USB link from a computer. It comes along with other useful tools and code bundled with the Android Software Development Kit (SDK).
The ADB program includes three components:
adbcommand. Other Android tools such as the ADT plugin and DDMS also create adb clients.
If you installed the Android SDK, the Android Debug Bridge will already be installed along with it. Otherwise, follow our guide on installing the Android SDK.
If you have already downloaded the Android SDK, launch the SDK Manager by typing into a Terminal window:
<sdk> is the path to the tools directory. For example, if the Android SDK is located on the desktop, then you have to type into the terminal window:
As soon as the SDK Manager is launched, click “Available packages”, then “Android Repository.” When the list of available packages pops up, choose the offered revision of “Android SDK Platform-tools”. Click “Install Selected.” If it is installed, the adb executable binary will be located in the
If you don’t have the Android SDK installed yet, download its latest version and unzip it into an appropriate destination folder then follow the instructions above.
We want to make sure that ADB is now working. First, see to it that your Android device is set up for debugging. On your Android device running Gingerbread, go to the Settings > Applications > Development screen and make sure “USB Debugging” is checked. If you’re already on Ice Cream Sandwich, go to Settings > Developer options and tick “Android debugging” or “USB debugging.”
Connect your computer and Android device with a USB cable. Then, open a terminal on your computer and run the following command:
You should see something like this:
List of devices attached
A result like that (where the X’s represent your device’s actual serial number) confirms that your ADB is set up and working.
Now that ADB is already set up on your machine, you might want to know how to use its various flags and command options.
-pis not specified, the ANDROID_PRODUCT_OUT environment variable is used, which must be an absolute path.
localabstract:<unix domain socket name>
localreserved:<unix domain socket name>
localfilesystem:<unix domain socket name>
dev:<character device name>
jdwp:<process pid>(remote only)
-lmeans forward-lock the app
-rmeans reinstall the app, keeping its data
-smeans install on SD card instead of internal storage
-kmeans keep the data and cache directories)
<tty>refers to the tty for PPP stream. Eg.
defaultroute debug dump local notty usepeerdns
Once you already have ADB set up and functioning on your computer, you can start using it for a lot of important Android-related tasks, such as creating Android apps, debugging Android apps, and rooting your Android phone. Check out our how-to guides for rooting your Android phones.