Check us out:

- - - - -

How To Use adb: All Commands and Options

#1   olta777

    Android Master

  • VIP
  • 3,808
  • Device:HTC Thunderbolt

25 January 2010 - 03:01 AM

**Thanks to alquimista at droid forums for this write up!!!**

ADB stands for "Android Debug Bridge". It comes with the android 2.0 sdk and can be run from the windows command prompt or a mac/linux terminal.

In order to run ADB from your machine, you will need to set up the following in your Droid "Settings".[INDENT]Settings -> Application Settings -> Developement
Then check all of the boxes. Really, you only need the "USB Debugging" box checked, but I checked em all cause I'm cool like that.[/INDENT]Once you have ADB and have your Droid set for developement, you can plud your Droid into your machine with the USB cable supplied with the device.

On a Mac or Linux machine, you will have to "cd" to the "Tools" directory, under where ever you put the the "android-sdk-(mac or linux)" folder.[INDENT]EX. On a mac you would do the following:
cd /Users/[I]yourusername[/I]/android-sdk-mac/tools
[/INDENT](Its prettty much the same on a PC, but there are .bat files to run ADB for you in the "tools" folder)

Now that you can start adb here is how you can use it. I pulled the following from my terminal:
 Android Debug Bridge version 1.0.25

 -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

                                 envivornment 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

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

                                 (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: 


                                   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] <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)

  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 help                     - show this help message

  adb version                  - show version num


 (no option)                   - don't touch the data partition

  -w                           - wipe the data partition

  -d                           - flash the data partition


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


  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.

From the above, you should be able to see that you can send adb commands from your machine to your Droid using the following:
adb -s [yourdeviceserialnumberhere] shell
The above will start an interactive shell from your machine, but running on your device. So if you "cd" to a directory, it will be on your device. Use "ls" or "ls -l" to see what is in the directory that your are currently in. NOTE: Runing the adb shell directly has gotten me nowhere as far as rooting the device, but its a good place to start learning.

Now for the fun part!! You can "pull" some data from your device using:
adb -s [yourdeviceserialnumberhere] pull /system /somedirectoryonyourmachine
This will try and write all the files and folders from the "/system" directory on your Droid, to wherever you decide you want it on you machine.

I did the "pull" on a mac and I was able to get about 140mb of the data from the following directories on my Droid:[INDENT]/dev
/system[/INDENT]I did it both as an admin and a super user on the mac and I got about the same results. My Droid was in the regular boot mode. I have not tried booting into the restore or safe modes and tried a "pull" ... yet.

One last thing. I noticed the "adb root" command too, but I get an error back saying that you can not root on a production build of android. Perhaps there is a way to fool adb into thinking you have a developer device/build, maybe by altering the "" file. I haven't looked into that, nor do I really know if it would work. I'm really not an android developer, but if anyone out there is, maybe they could tell us what lets the adb shell know that a device is a production build, rather than a development build.

I better get going now. Have fun hacking your Droid!!"

Please Login HERE or Register HERE to see this link!

> Register at MDW | MDW Rules and Guidelines <
Click the in a member's post to thank them for their post!
"BB Pearl > LG Dare > BB Storm 1 > BB Storm 2 > HTC Eris > Motorola Droid > HTC Incredible > Droid X > HTC Incredible > Samsung Fascinate - Rooted/CWM Recovery/Blackhole FROYO - WINNER" :angel

Remove Advertisements Sponsored Links

#2   the_guy

    MDW Noob

  • Members
  • 2
  • Device:DROID

06 April 2010 - 10:07 AM

adb has saved my droid a couple of times great thing to learn how to use

#3   Will00ard10


  • Members
  • 9

14 October 2012 - 07:37 AM

I better get going now.

#4   Jenn67ifer


  • Members
  • 13

14 February 2013 - 12:38 AM

of times great thing to learn how to use

#5   Jufgdy


  • Members
  • 11

17 February 2013 - 10:24 PM

of times great thing to learn how to use

#6   He78ather


  • Members
  • 12

19 February 2013 - 07:42 AM

of times great thing to learn how to use

#7   Sy45lvia


  • Members
  • 12

16 March 2013 - 12:03 AM

of times great thing to learn how to use

#8   Claregnce


  • Members
  • 7

16 March 2013 - 11:08 PM

of times great thing to learn how to use

#9   Rasyhida


  • Members
  • 19

24 March 2013 - 12:25 AM

of times great thing to learn how to use

#10   Trghacy


  • Members
  • 5

28 March 2013 - 10:25 PM

I better get going now.

#11   Racfhhel


  • Members
  • 8
  • Twitter:google
  • Device:google

24 July 2013 - 07:11 AM

adb has saved my droid a couple of times great thing to learn how to use