1. Download our Official Android App: Forums for Android!

Root How-To Using ADB

Discussion in 'Android Devices' started by rbheromax, Jul 12, 2013.

  1. rbheromax

    rbheromax Android Expert
    Thread Starter
    Rank:
    None
    Points:
    163
    Posts:
    1,927
    Joined:
    Sep 22, 2012

    Sep 22, 2012
    1,927
    443
    163
    Male
    High School Student
    Columbia, South Carolina
    *******Must have USB Debugging activated under: Developer Options>USB Debugging (Check it)*******

    ***On Linux:***

    If on ubuntu, you can simply run:
    [HIGH]
    sudo add-apt-repository ppa:nilarimogard/webupd8
    sudo apt-get update
    sudo apt-get install android-tools-adb android-tools-fastboot
    [/HIGH]

    This will install adb to be used ANYWHERE on your system
    All options are:
    [HIGH]
    rbheromax@rbheromax-dell:~$ adb
    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] [--algo <algorithm name> --key <hex-encoded key> --iv <hex-encoded iv>] <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)
    ('--algo', '--key', and '--iv' mean the file is encrypted already)
    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.
    rbheromax@rbheromax-dell:~$
    [/HIGH]

    Common uses of adb are:
    adb devices (list of currently connected devices)
    adb pull <location on phone> <file location on computer>
    adb push <file location on computer> <location on phone>
    adb reboot (normally would reboot phone to recovery/fastboot/whateverelsebootoptions)
    adb shell (get to phone's command line shell through computer's command line)
    adb install <location of apk on your computer>

    More Important Commands:
    adb logcat > logcat.txt (usefull to devs as this can tell us whats wrong with your device)
    ^^with logcat, as long as you have USB debugging enabled and you see boot animation, and you were previously rooted, we can fix soft bricks/bootloops, just PM me a link to your logcat.txt file and I can help track down the problem and fix it)
    adb kill-server (Kills the running adb server on computer)
    adb start-server (Starts adb bridge if not previously running on computer)


    To use adb over wifi:

    Download terminal emulator from Play Store: https://play.google.com/store/apps/details?id=jackpal.androidterm&hl=en
    Run:
    [HIGH]
    su
    setprop service.adb.tcp.port 5555
    stop adbd
    start adbd
    [/HIGH]

    Then Check with:

    [HIGH]
    getprop service.adb.tcp.port
    [/HIGH]
    It should report as "5555"

    Then on computer run
    [HIGH]
    adb connect <phone's local IP>
    [/HIGH]

    Your adb commands can now be used wirelessly (you will lose ADB-over-USB functionality until you either take that line out of build.prop or you add a # at the beginning of the line, then reboot

    Or another way to stop using ADB over wifi and start using usb again:

    On device in terminal emulator:
    [HIGH]
    su
    setprop service.adb.tcp.port -1
    stop adbd
    start adbd
    [/HIGH]

    Then on Computer:
    [HIGH]
    adb usb
    [/HIGH]

    (thanks to JeepFreak @ xda)
    ***On Windows:***
    See next post
     

    Advertisement

  2. rbheromax

    rbheromax Android Expert
    Thread Starter
    Rank:
    None
    Points:
    163
    Posts:
    1,927
    Joined:
    Sep 22, 2012

    Sep 22, 2012
    1,927
    443
    163
    Male
    High School Student
    Columbia, South Carolina
    ***Windows***
    Download the Android Platform Tools here:
    https://www.dropbox.com/s/fjphb06fnf3k2p9/platform-tools-v16.zip
    Thanks to "efrant" over @ xda forums

    Then copy to C:/
    Unzip files
    Make sure there is a folder:

    C:/platform-tools-v16/

    and files inside are:

    ##adb.exe
    ##fastboot.exe
    ##AdbWinApi.dll
    ##AdbWinUsbApi.dll
    ##source.properties
    ##Notice.txt

    After verifying all folder and file locations, Click Start, goto run, then type "cmd"
    inside command line, type:
    [HIGH]
    cd C:/
    [/HIGH]
    then type:
    [HIGH]
    cd platform-tools-v16
    [/HIGH]

    Then everything pretty much gets universal from here:

    Common uses of adb are:
    adb devices (list of currently connected devices)
    adb pull <location on phone> <file location on computer>
    adb push <file location on computer> <location on phone>
    adb reboot (normally would reboot phone to recovery/fastboot/whateverelsebootoptions)
    adb shell (get to phone's command line shell through computer's command line)
    adb install <location of apk on your computer>

    More Important Commands:
    adb logcat > logcat.txt (usefull to devs as this can tell us whats wrong with your device)
    ^^with logcat, as long as you have USB debugging enabled and you see boot animation, and you were previously rooted, we can fix soft bricks/bootloops, just PM me a link to your logcat.txt file and I can help track down the problem and fix it)
    adb kill-server (Kills the running adb server on computer)
    adb start-server (Starts adb bridge if not previously running on computer)

    adb can also be used over wifi if:
    [HIGH]
    service.adb.tcp.port=5555
    [/HIGH]
    is added to build.prop (maybe local.prop too?)

    To use adb over wifi:

    Download terminal emulator from Play Store: https://play.google.com/store/apps/details?id=jackpal.androidterm&hl=en
    Run:
    [HIGH]
    su
    setprop service.adb.tcp.port 5555
    stop adbd
    start adbd
    [/HIGH]

    Then Check with:

    [HIGH]
    getprop service.adb.tcp.port
    [/HIGH]
    It should report as "5555"

    Then on computer run
    [HIGH]
    adb connect <phone's local IP>
    [/HIGH]

    Your adb commands can now be used wirelessly (you will lose ADB-over-USB functionality until you either take that line out of build.prop or you add a # at the beginning of the line, then reboot

    Or another way to stop using ADB over wifi and start using usb again:

    On device in terminal emulator:
    [HIGH]
    su
    setprop service.adb.tcp.port -1
    stop adbd
    start adbd
    [/HIGH]

    Then on Computer:
    [HIGH]
    adb usb
    [/HIGH]
     
  3. rbheromax

    rbheromax Android Expert
    Thread Starter
    Rank:
    None
    Points:
    163
    Posts:
    1,927
    Joined:
    Sep 22, 2012

    Sep 22, 2012
    1,927
    443
    163
    Male
    High School Student
    Columbia, South Carolina
    reserved for FAQs
     

Share This Page

Loading...