DroidForums.net is the original Verizon Android Forum! Registered Users do not see these ads. Please Register - It's Free!
Page 1 of 5 123 ... LastLast
Results 1 to 10 of 43

Thread: How To Use ADB: All Commands and Options

  1. Droid
    alquimista's Avatar
    Member #
    12027
    Join Date
    Dec 2009
    Posts
    31
    Phone
    Motorola Droid
    #1

    Post How To Use ADB: All Commands and Options

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

    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.
    EX. On a mac you would do the following:
    Code:
    cd /Users/yourusername/android-sdk-mac/tools
    (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:
    Code:
     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: 
                                       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] <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
    
    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 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.
    From the above, you should be able to see that you can send adb commands from your machine to your Droid using the following:
    Code:
    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:
    Code:
    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:
    /dev
    /proc
    /sys
    /system
    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 "build.properties" 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!!
  2.  
     
     
     
  3. Super Moderator
    Corinacakes's Avatar
    Member #
    5472
    Join Date
    Nov 2009
    Location
    Maine
    Posts
    5,033
    Liked
    9 times
    Phone
    DrOiD
    DroidForums.net Theme Developer
    Premium Member
    #2
    Quote Originally Posted by alquimista View Post
    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".
    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.

    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.
    EX. On a mac you would do the following:
    Code:
    cd /Users/yourusername/android-sdk-mac/tools
    (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:
    Code:
     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: 
                                       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] <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
    
    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 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.
    From the above, you should be able to see that you can send adb commands from your machine to your Droid using the following:
    Code:
    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:
    Code:
    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:
    /dev
    /proc
    /sys
    /system
    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 "build.properties" 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!!
    omg lol if i didn't feel dumb before i sure do now!!!! wowzers!! lol are you rich too?
    *~*Corinacakes*~*

    -Keep your political and religious views off this forum.
    -We are here to have fun and learn, so please try and keep it that way for everyone!




    If you like my work and would like to help get my nails done I'd love it!
  4. Senior Droid
    bots's Avatar
    Member #
    9269
    Join Date
    Nov 2009
    Location
    Austin, Texas
    Posts
    169
    Phone
    moto droid
    #3
    Good post. People please be CAREFUL while experimenting with these commands. You shouldn't really be able to mux things up too bad without root, but that doesn't mean to just start randomly rm'ing files and such.
  5. Master Droid
    Aaron636r's Avatar
    Member #
    4877
    Join Date
    Nov 2009
    Location
    So California
    Posts
    403
    Liked
    1 times
    Phone
    Droid X & XOOM
    #4
    When I run "SDK Setup.exe" dos window appears than closes. Wont stay open. Debugging on the phone is on.

    Any ideas? First time doing this
  6. Senior Droid
    boristhebladexx's Avatar
    Member #
    9199
    Join Date
    Nov 2009
    Location
    Connecticut
    Posts
    116
    Phone
    Motorola Droid
    #5
    Quote Originally Posted by Aaron636r View Post
    When I run "SDK Setup.exe" dos window appears than closes. Wont stay open. Debugging on the phone is on.

    Any ideas? First time doing this

    assuming you're on a windows machine, go to start>run type cmd then hit enter, then following to instructions to cd to the adb directory
  7. Senior Droid
    boristhebladexx's Avatar
    Member #
    9199
    Join Date
    Nov 2009
    Location
    Connecticut
    Posts
    116
    Phone
    Motorola Droid
    #6
    so my problem is that now that adb is up in the DOS window, i can't get ride of the C:\ to the far left right by where you would type the commands, so i can't get any of the commands to work, like the one to see if i could send adb commands to my phone. what am i missing here?
  8. Droid Ninja
    Bear in NM's Avatar
    Member #
    3690
    Join Date
    Nov 2009
    Posts
    1,389
    Liked
    5 times
    Phone
    Bionic (sad but sweet)
    #7
    At the c:\> prompt you need to path your way to the subdirectory where the adb is installed. something like;

    cd \sdk-windows\tools where sdk-widows is the name of the subdirectory (folder) where you installed the program, and tools is the subdirectory where the adb commands should reside.

    Craig
  9. Senior Droid
    boristhebladexx's Avatar
    Member #
    9199
    Join Date
    Nov 2009
    Location
    Connecticut
    Posts
    116
    Phone
    Motorola Droid
    #8
    well here's my current situation. if it helps you to know, my adb directory is C:\Android\android-sdk-windows\tools\adb. Here's what i put into the msdos window (black is what was there, red is what i typed):

    C:\Documents and Settings\Owner> cd\
    C:\>Android\android-sdk-windows\tools\adb
    Android Debug Bridge version 1.0.25
    (plus crapload of adb stuff here)
    C:\>Android\android-sdk-windows\tools\adb shell
    $ adb -s [my serial number] shell
    adb -s [my serial number] shell
    adb: permission denied
    $

    so how do i get permission allowed? i tried it a couple times, change things up, added or removed the [ ] on either end of the serial number, tried the super user (su) command. nothing!
  10. Droid Ninja
    Bear in NM's Avatar
    Member #
    3690
    Join Date
    Nov 2009
    Posts
    1,389
    Liked
    5 times
    Phone
    Bionic (sad but sweet)
    #9
    Quote Originally Posted by boristhebladexx View Post
    well here's my current situation. if it helps you to know, my adb directory is C:\Android\android-sdk-windows\tools\adb. Here's what i put into the msdos window (black is what was there, red is what i typed):

    C:\Documents and Settings\Owner> cd\
    C:\>Android\android-sdk-windows\tools\adb
    Android Debug Bridge version 1.0.25
    (plus crapload of adb stuff here)
    C:\>Android\android-sdk-windows\tools\adb shell
    $ adb -s [my serial number] shell
    adb -s [my serial number] shell
    adb: permission denied
    $

    so how do i get permission allowed? i tried it a couple times, change things up, added or removed the [ ] on either end of the serial number, tried the super user (su) command. nothing!
    Here is what works for me. make sure that you have usb debugging enabled in your settings on the phone, and my phone is unmounted. I have changed my directory structure to match yours.

    at the c:\, type

    cd \Android\android-sdk-windows\tools\

    this should give you

    c:\android\android-sdk-windows\tools>

    at this point I just type: adb shell (no switches)

    This is what I see after: adb shell
    * daemon not running. starting it now*
    * daemon started successfully *
    $

    then I type: su

    this should give you the #

    Then you should be in.

    Not sure if you need to physically be in the tools subdirectory when invoking the shell, or it is the switch, or perhaps the debugging switch on the phone, but the above always works for me. Sorry man, I'm trying.

    Craig
  11. Senior Droid
    boristhebladexx's Avatar
    Member #
    9199
    Join Date
    Nov 2009
    Location
    Connecticut
    Posts
    116
    Phone
    Motorola Droid
    #10
    you don't have to apologize, you been a fantastic help actually! i'm alot farther than when i started, thanks to you.

    so i tried this a few times, and the first time i did it, it didn't give me the #, so i tried it again, and now it is displaying it, but that code to see if i can send commands to my phone stopped, and i didn't get anything about the daemon not running then starting up. but the pop up window came up on my phone to confirm superuser access, so i guess that's good. now to try something to confirm this...
Page 1 of 5 123 ... LastLast

Links

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

Similar Threads

  1. List of voice commands?
    By stevether in forum Android General Discussions
    Replies: 6
    Last Post: 08-26-2010, 02:23 PM
  2. voice commands for media player?
    By jntdroid in forum Android Applications
    Replies: 7
    Last Post: 02-19-2010, 10:37 PM
  3. Calendar options
    By Medic47 in forum Android Audio and Video
    Replies: 2
    Last Post: 12-01-2009, 10:17 AM
  4. Debug info from shell commands
    By shpen in forum Android Hacks and Help
    Replies: 1
    Last Post: 11-20-2009, 08:24 PM
  5. can not get Droid to do Voice Commands fron Bluetooth
    By Nick177th in forum Android Tech Support
    Replies: 3
    Last Post: 11-07-2009, 05:07 PM

Search tags for this page

adb command
,

adb commands

,
adb permission denied
,
adb reboot
,
adb reboot bootloader
,

adb reboot recovery

,
adb shell commands
,

how to use adb

,
how to use adb shell
,
using adb
Click on a term to search our site for related topics.

Tags for this Thread

Find us on Google+