Table of Contents


The Android Development Bridge is a command-line utility for manipulating remote Android devices. The full documentation has a lot of useful information, but this page has a few pointers to get started.


These are split into general categories below. Note that this is the list of commands I've found useful, not a complete set — for that, see the official docs.

Unless otherwise specified, commands are automatically directed to the single detected device. If multiple devices are detected, the following options can be used to specify which to use:

-d Specifies a USB device if connected, fails with an error if zero or two or more devices are found.
-e As -d but specifies emulator instances instead of USB-connected ones.
-s <serial> Specifies a device by serial number.

General Commands

devices This command lists available devices for communication.

Debugging Commands

logcat Effectively runs a constant tail -f on the system log file.
-c Clears the system log file and exits.
shell Opens a remote shell on the specified device.

File Management

install <apk file> Installs the specified application (in the form of an APK file) on the remote device.
push <local> <remote> Copies the specified local file to the specified remote location.
pull <remote> <local> Copies the specified remote file to the specified local location.


This section includes some handy snippets for particular tasks.

Debugging JNI

adb shell setprop debug.checkjni 1

Enables additional checks on JNI behaviour as detailed in this post.