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