• After 15+ years, we've made a big change: Android Forums is now Early Bird Club. Learn more here.

Root [How-To] Using ADB

rbheromax

Android Expert
*******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
 
***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]
 
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]
CLOSE
 
Kinda dumb question but can I use the windows method to unbrick my rise and elite both where factory reset when they got bricked..
 
That means you bricked them. When you reset them it turns off USB Debugging. So adb wont work anymore. /:
 
Back
Top Bottom