android debug bridge,a client-server program that includes three components:
Listing of adb Commands
The table below lists all of the supported adb commands and explains their meaning and usage.
Category Command Description Comments Options
Direct an adb command to the only attached USB device. Returns an error if more than one USB device is attached.
Direct an adb command to the only running emulator instance. Returns an error if more than one emulator instance is running.
Direct an adb command a specific emulator/device instance, referred to by its adb-assigned serial number (such as "emulator-5556"). If not specified, adb generates an error. General
Prints a list of all attached emulator/device instances. See Querying for Emulator/Device Instances for more information.
Prints a list of supported adb commands.
Prints the adb version number. Debug
logcat [<option>] [<filter-specs>]
Prints log data to the screen.
logcatdata to the screen, for the purposes of bug reporting.
Prints a list of available JDWP processes on a given device. You can use the
forward jdwp:<pid>port-forwarding specification to connect to a specific JDWP process. For example:
adb forward tcp:8000 jdwp:472
jdb -attach localhost:8000
Pushes an Android application (specified as a full path to an .apk file) to the data file of an emulator/device.
pull <remote> <local>
Copies a specified file from an emulator/device instance to your development computer.
push <local> <remote>
Copies a specified file from your development computer to an emulator/device instance. Ports and Networking
forward <local> <remote>
Forwards socket connections from a specified local port to a specified remote port on the emulator/device instance. Port specifications can use these schemes:
local:<UNIX domain socket name>
dev:<character device name>
ppp <tty> [parm]...
Run PPP over USB.
<tty>— the tty for PPP stream. For example
[parm]...— zero or more PPP/PPPD options, such as
Note that you should not automatically start a PPP connection.
Prints the adb instance serial number string. See Querying for Emulator/Device Instances for more information.
Prints the adb state of an emulator/device instance.
Blocks execution until the device is online — that is, until the instance state is
You can prepend this command to other adb commands, in which case adb will wait until the emulator/device instance is connected before issuing the other commands. Here's an example:adb wait-for-device shell getpropNote that this command does not cause adb to wait until the entire system is fully booted. For that reason, you should not prepend it to other commands that require a fully booted system. As an example, the
installrequires the Android package manager, which is available only after the system is fully booted. A command such asadb wait-for-device install <app>.apkwould issue the
installcommand as soon as the emulator or device instance connected to the adb server, but before the Android system was fully booted, so it would result in an error.
Checks whether the adb server process is running and starts it, if not.
Terminates the adb server process. Shell
Starts a remote shell in the target emulator/device instance. See Issuing Shell Commands for more information.
Issues a shell command in the target emulator/device instance and then exits the remote shell.