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:
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.
- A client, which runs on your development machine. You can invoke a client from a shell by issuing an
adb
command. Other Android tools such as the ADT plugin and DDMS also create adb clients. - A server, which runs as a background process on your development machine. The server manages communication between the client and the adb daemon running on an emulator or device.
- A daemon, which runs as a background process on each emulator or device instance.
Setting Up ADB
On Windows and Linux
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.
On Mac
If you have already downloaded the Android SDK, launch the SDK Manager by typing into a Terminal window:
<sdk>/tools/android
where <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:
/Users/MyName/Desktop/android-sdk-mac_86/tools/android
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 platform-tools
subdirectory.
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:
adb devices
You should see something like this:
List of devices attached
XXXXXXXXXXXX device
A result like that (where the X’s represent your device’s actual serial number) confirms that your ADB is set up and working.
Learning the Codes
Now that ADB is already set up on your machine, you might want to know how to use its various flags and command options.
Flags
How To Install Android Debug Bridge
- -d
- directs command to the only connected USB device; returns an error if more than one USB device is present.
- -e
- directs command to the only running emulator; returns an error if more than one emulator is running.
- -s <serial number>
- directs command to the USB device or emulator with the given serial number. Overrides ANDROID_SERIAL environment variable.
- -p <product name or path>
- simple product name like ‘sooner’, or a relative/absolute path to a product out directory like ‘out/target/product/sooner’. If
-p
is not specified, the ANDROID_PRODUCT_OUT environment variable is used, which must be an absolute path. - devices
- list all connected devices
- connect <host>:<port>
- connect to a device via TCP/IP
- disconnect <host>:<port>
- disconnect from a TCP/IP device
Commands
Android Debug Bridge Adb Download
tcp:<port>
localabstract:<unix domain socket name>
localreserved:<unix domain socket name>
localfilesystem:<unix domain socket name>
dev:<character device name>
jdwp:<process pid>
(remote only)
Android Debug Bridge App
push this package file to the device and install it-l
means forward-lock the app-r
means reinstall the app, keeping its data-s
means install on SD card instead of internal storage
-k
means keep the data and cache directories)Data Options
DATAOPTS:
- (no option)
- don’t touch the data partition
- -w
- wipe the data partition
- -d
- flash the data partition
Scripting
- adb wait-for-device
- block until device is online
- adb start-server
- ensure that there is a server running
- adb kill-server
- kill the server if it is running
- adb get-state
- prints: offline | bootloader | device
- adb get-serialno
- prints: <serial-number>
- adb status-window
- continuously print device status for a specified device
- adb remount
- remounts the /system partition on the device read-write
- adb reboot [bootloader|recovery]
- reboots the device, optionally into the bootloader or recovery program
- adb reboot-bootloader
- reboots the device into the bootloader
- adb root
- restarts the adbd daemon with root permissions
- adb usb
- restarts the adbd daemon listening on USB
- adb tcpip <port>
- restarts the adbd daemon listening on TCP on the specified port
Networking
Android Debug Bridge Download Free
<tty>
refers to the tty for PPP stream. Eg.dev:/dev/omap_csmi_tty1
[parameters]
– Eg.defaultroute debug dump local notty usepeerdns
Sync
- If <directory> is not specified, both /system and /data partitions will be updated.
- If it is “system” or “data”, only the corresponding partition is updated.
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.