Android Tutorials - Herong's Tutorial Examples
Dr. Herong Yang, Version 2.1

Commands and Options Supported by "adb"

This section describes commands and options supported by the 'adb' tool. The 'adb help' command can give you details on how to use other 'adb' commands and options.

If you want see what commands and options are supported by the "adb" (Android Debug Bridge) tool, you run the "adb help" command:

C:\local\android-sdk-windows\platform-tools>adb help

Android Debug Bridge version 1.0.29

 -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
              Port 5555 is used by default if no port number is 
              specified.
 disconnect [<host>[:<port>]] - disconnect from a TCP/IP device.
              Port 5555 is used by default if no port number is 
              specified. Using this command with no additional 
              arguments will disconnect from all connected TCP/IP 
              devices.

device commands:
  adb push <local> <remote> - copy file/dir to device
  adb pull <remote> [<local>] - copy file/dir from device
  adb sync [ <directory> ] - copy host->device only if changed
              (-l means list but don't copy)
              (see 'adb help all')
  adb shell - run remote shell interactively
  adb shell <command> - run remote shell command
  adb emu <command> - run emulator console command
  adb logcat [ <filter-spec> ] - View device log
  adb forward <local> <remote> - forward socket connections
              forward specs are one of: 
                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)
  adb jdwp  - list PIDs of processes hosting a JDWP transport
  adb install [-l] [-r] [-s] <file> - 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)
  adb uninstall [-k] <package> - remove this app package from the device
              ('-k' means keep the data and cache directories)
  adb bugreport - return all information from the device
              that should be included in a bug report.

  adb backup [-f <file>] [-apk|-noapk] [-shared|-noshared] [-all] 
              [-system|-nosystem] [<packages...>]
            - write an archive of the device's data to <file>.
              If no -f option is supplied then the data is written
              to "backup.ab" in the current directory.
              (-apk|-noapk enable/disable backup of the .apks 
                 themselves in the archive; the default is noapk.)
              (-shared|-noshared enable/disable backup of the device's
                 shared storage / SD card contents; the default is 
                 noshared.)
              (-all means to back up all installed applications)
              (-system|-nosystem toggles whether -all automatically 
                 includes system applications; the default is to 
                 include system apps)
              (<packages...> is the list of applications to be backed 
                 up. If the -all or -shared flags are passed, then the
                 package list is optional. Applications explicitly 
                 given on the command line will be included even if 
                 -nosystem would ordinarily cause them to be omitted.)

  adb restore <file> - restore device contents from the <file> backup 
              archive

  adb help  - show this help message
  adb version - show version num

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:             
  adb ppp <tty> [parameters]   - Run PPP over USB.
 Note: you should not automatically start a PPP connection.
 <tty> refers to the tty for PPP stream. Eg. dev:/dev/omap_csmi_tty1
 [parameters] - Eg. defaultroute debug dump local notty usepeerdns

adb sync notes: adb sync [ <directory> ]
  <localdir> can be interpreted in several ways:

  - 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.

environmental variables:
  ADB_TRACE - Print debug information. A comma separated list of the
              following values 1 or all, adb, sockets, packets, rwx, 
              usb, sync, sysdeps, transport, jdwp
  ANDROID_SERIAL - The serial number to connect to. -s takes priority 
              over this if given.
  ANDROID_LOG_TAGS - When used with the logcat option, only these 
              debug tags are printed.

Last update: 2012.

Table of Contents

 About This Book

 Installation of Android SDK R17 and Emulator

 Installing JDK 1.7 on Windows System

 Installing Apache Ant 1.8 on Windows System

 Developing First Android Application - HelloAndroid

 Android Application Package (APK) Files

Android Debug Bridge (adb) Tool

 What Is Android Debug Bridge (adb)

Commands and Options Supported by "adb"

 "adb install" and "adb uninstall" Commands

 "adb shell" - Remote Shell Interface

 "adb push" and "adb pull" Commands

 Android File Systems

 AboutAndroid - Application to Retrieve System Information

 android.app.Activity Class and Activity Lifecycle

 View Objects and Layout Resource Files

 Using "adb logcat" Command for Debugging

 Build Process and Package File Content

 Building Your Own Web Browser

 Android Command Line Shell

 Android Phone - LG-P925g

 USB Debugging Applications on LG-P925g Phone

 Android Tablet - LG-V905R

 USB Debugging Applications on LG-V905R Tablet

 References

 PDF Printing Version

Dr. Herong Yang, updated in 2012
Android Debug Bridge (adb) Tool