386 lines
12 KiB
Markdown
386 lines
12 KiB
Markdown
|
|
# ADB(1) MAN PAGE
|
||
|
|
|
||
|
|
# VERSION
|
||
|
|
|
||
|
|
1.0.41
|
||
|
|
|
||
|
|
# NAME
|
||
|
|
|
||
|
|
**adb**
|
||
|
|
CLI Client for ADB (Android Debug Bridge) Server.
|
||
|
|
|
||
|
|
# SYNOPSIS
|
||
|
|
|
||
|
|
**adb** [*GLOBAL_OPTIONS*] command [*COMMAND_OPTIONS*]
|
||
|
|
|
||
|
|
# DESCRIPTION
|
||
|
|
|
||
|
|
Connects to the ADB Server via its smart socket interface. Allows sending requests, receives responses and manages lifecycle of the adb server.
|
||
|
|
|
||
|
|
Tasks are performed via commands. Some commands are fulfilled directly by the server while others are "forwarded over to the adbd(ADB daemon) running on the device.
|
||
|
|
|
||
|
|
# GLOBAL OPTIONS:
|
||
|
|
|
||
|
|
**-a**
|
||
|
|
Listen on all network interfaces, not just localhost.
|
||
|
|
|
||
|
|
**-d**
|
||
|
|
Use USB device (error if multiple devices connected).
|
||
|
|
|
||
|
|
**-e**
|
||
|
|
Use TCP/IP device (error if multiple TCP/IP devices available).
|
||
|
|
|
||
|
|
**-s** **SERIAL**
|
||
|
|
Use device with given **SERIAL** (overrides $ANDROID_SERIAL).
|
||
|
|
|
||
|
|
**-t** **ID**
|
||
|
|
Use device with given transport **ID**.
|
||
|
|
|
||
|
|
**-H**
|
||
|
|
Name of adb server host [default=localhost].
|
||
|
|
|
||
|
|
**-P** **PORT**
|
||
|
|
Smart socket **PORT** of adb server [default=5037].
|
||
|
|
|
||
|
|
**-L** **SOCKET**
|
||
|
|
Listen on given socket for adb server [default=tcp:localhost:5037].
|
||
|
|
|
||
|
|
**\-\-one-device** **SERIAL**|**USB**
|
||
|
|
Server will only connect to one USB device, specified by a **SERIAL** number or **USB** device address (only with 'start-server' or 'server nodaemon').
|
||
|
|
|
||
|
|
**\-\-exit-on-write-error**
|
||
|
|
Exit if stdout is closed.
|
||
|
|
|
||
|
|
|
||
|
|
# GENERAL COMMANDS:
|
||
|
|
|
||
|
|
devices [**-l**]
|
||
|
|
List connected devices.
|
||
|
|
|
||
|
|
**-l**
|
||
|
|
Use long output.
|
||
|
|
|
||
|
|
help
|
||
|
|
Show this help message.
|
||
|
|
|
||
|
|
version
|
||
|
|
Show version number.
|
||
|
|
|
||
|
|
# NETWORKING
|
||
|
|
|
||
|
|
connect **HOST**[:**PORT**]
|
||
|
|
Connect to a device via TCP/IP [default **PORT**=5555].
|
||
|
|
|
||
|
|
disconnect [**HOST**[:**PORT**]]
|
||
|
|
Disconnect from given TCP/IP device [default **PORT**=5555], or all.
|
||
|
|
|
||
|
|
pair **HOST**[:**PORT**] [**PAIRING_CODE**]
|
||
|
|
Pair with a device for secure TCP/IP communication.
|
||
|
|
|
||
|
|
forward **\-\-list** | [**--no-rebind**] **LOCAL_REMOTE** | **\-\-remove** **LOCAL** | **\-\-remove-all**
|
||
|
|
|
||
|
|
**\-\-list**
|
||
|
|
List all forward socket connections.
|
||
|
|
|
||
|
|
[**--no-rebind**] **LOCAL_REMOTE**
|
||
|
|
Forward socket connection using one of the followings.
|
||
|
|
|
||
|
|
**tcp**:**PORT** (local may be "tcp:0" to pick any open port.
|
||
|
|
**localreserved**:**UNIX_DOMAIN_SOCKET_NAME**.
|
||
|
|
**localfilesystem**:**UNIX_DOMAIN_SOCKET_NAME**.
|
||
|
|
**jdwp**:**PROCESS PID** (remote only).
|
||
|
|
**vsock**:**CID**:**PORT** (remote only).
|
||
|
|
**acceptfd**:**FD** (listen only).
|
||
|
|
|
||
|
|
**\-\-remove** **LOCAL**
|
||
|
|
Remove specific forward socket connection.
|
||
|
|
|
||
|
|
**\-\-remove-all**
|
||
|
|
Remove all forward socket connections.
|
||
|
|
|
||
|
|
reverse **\-\-list** | [**\-\-no-rebind**] **REMOTE** **LOCAL** | **\-\-remove** **REMOTE** | **\-\-remove-all**
|
||
|
|
|
||
|
|
**\-\-list**
|
||
|
|
List all reverse socket connections from device.
|
||
|
|
|
||
|
|
[**\-\-no-rebind**] **REMOTE** **LOCAL**
|
||
|
|
Reverse socket connection using one of the following.
|
||
|
|
|
||
|
|
tcp:**PORT** (**REMOTE** may be "tcp:0" to pick any open port).
|
||
|
|
localabstract:**UNIX_DOMAIN_SOCKET_NAME**.
|
||
|
|
localreserved:**UNIX_DOMAIN_SOCKET_NAME**.
|
||
|
|
localfilesystem:**UNIX_DOMAIN_SOCKET_NAME**.
|
||
|
|
|
||
|
|
**\-\-remove** **REMOTE**
|
||
|
|
Remove specific reverse socket connection.
|
||
|
|
|
||
|
|
**\-\-remove-all**
|
||
|
|
Remove all reverse socket connections from device.
|
||
|
|
|
||
|
|
mdns **check** | **services**
|
||
|
|
Perform mDNS subcommands.
|
||
|
|
|
||
|
|
**check**
|
||
|
|
Check if mdns discovery is available.
|
||
|
|
|
||
|
|
**services**
|
||
|
|
List all discovered services.
|
||
|
|
|
||
|
|
|
||
|
|
# FILE TRANSFER:
|
||
|
|
|
||
|
|
push [**--sync**] [**-z** **ALGORITHM**] [**-Z**] **LOCAL**... **REMOTE**
|
||
|
|
Copy local files/directories to device.
|
||
|
|
|
||
|
|
**--sync**
|
||
|
|
Only push files that are newer on the host than the device.
|
||
|
|
|
||
|
|
**-n**
|
||
|
|
Dry run, push files to device without storing to the filesystem.
|
||
|
|
|
||
|
|
**-z**
|
||
|
|
enable compression with a specified algorithm (any/none/brotli/lz4/zstd).
|
||
|
|
|
||
|
|
**-Z**
|
||
|
|
Disable compression.
|
||
|
|
|
||
|
|
pull [**-a**] [**-z** **ALGORITHM**] [**-Z**] **REMOTE**... **LOCAL**
|
||
|
|
Copy files/dirs from device
|
||
|
|
|
||
|
|
**-a**
|
||
|
|
preserve file timestamp and mode.
|
||
|
|
|
||
|
|
**-z**
|
||
|
|
enable compression with a specified algorithm (**any**/**none**/**brotli**/**lz4**/**zstd**)
|
||
|
|
|
||
|
|
**-Z**
|
||
|
|
disable compression
|
||
|
|
|
||
|
|
sync [**-l**] [**-z** **ALGORITHM**] [**-Z**] [**all**|**data**|**odm**|**oem**|**product**|**system**|**system_ext**|**vendor**]
|
||
|
|
Sync a local build from $ANDROID_PRODUCT_OUT to the device (default all)
|
||
|
|
|
||
|
|
**-n**
|
||
|
|
Dry run. Push files to device without storing to the filesystem.
|
||
|
|
|
||
|
|
**-l**
|
||
|
|
List files that would be copied, but don't copy them.
|
||
|
|
|
||
|
|
**-z**
|
||
|
|
Enable compression with a specified algorithm (**any**/**none**/**brotli**/**lz4**/**zstd**)
|
||
|
|
|
||
|
|
**-Z**
|
||
|
|
Disable compression.
|
||
|
|
|
||
|
|
# SHELL:
|
||
|
|
|
||
|
|
shell [**-e** **ESCAPE**] [**-n**] [**-Tt**] [**-x**] [**COMMAND**...]
|
||
|
|
Run remote shell command (interactive shell if no command given).
|
||
|
|
|
||
|
|
**-e**
|
||
|
|
Choose escape character, or "**none**"; default '**~**'.
|
||
|
|
|
||
|
|
**-n**
|
||
|
|
Don't read from stdin.
|
||
|
|
|
||
|
|
**-T**:
|
||
|
|
Disable pty allocation.
|
||
|
|
|
||
|
|
**-t**:
|
||
|
|
Allocate a pty if on a tty (-tt: force pty allocation).
|
||
|
|
|
||
|
|
**-x**
|
||
|
|
Disable remote exit codes and stdout/stderr separation.
|
||
|
|
|
||
|
|
emu **COMMAND**
|
||
|
|
Run emulator console **COMMAND**
|
||
|
|
|
||
|
|
# APP INSTALLATION
|
||
|
|
(see also `adb shell cmd package help`):
|
||
|
|
|
||
|
|
install [**-lrtsdg**] [**--instant**] **PACKAGE**
|
||
|
|
Push a single package to the device and install it
|
||
|
|
|
||
|
|
install-multiple [**-lrtsdpg**] [**--instant**] **PACKAGE**...
|
||
|
|
Push multiple APKs to the device for a single package and install them
|
||
|
|
|
||
|
|
install-multi-package [**-lrtsdpg**] [**--instant**] **PACKAGE**...
|
||
|
|
Push one or more packages to the device and install them atomically
|
||
|
|
|
||
|
|
**-r**:
|
||
|
|
Replace existing application.
|
||
|
|
|
||
|
|
**-t**
|
||
|
|
Allow test packages.
|
||
|
|
|
||
|
|
**-d**
|
||
|
|
Allow version code downgrade (debuggable packages only).
|
||
|
|
|
||
|
|
**-p**
|
||
|
|
Partial application install (install-multiple only).
|
||
|
|
|
||
|
|
**-g**
|
||
|
|
Grant all runtime permissions.
|
||
|
|
|
||
|
|
**\-\-abi** **ABI**
|
||
|
|
Override platform's default ABI.
|
||
|
|
|
||
|
|
**\-\-instant**
|
||
|
|
Cause the app to be installed as an ephemeral install app.
|
||
|
|
|
||
|
|
**\-\-no-streaming**
|
||
|
|
Always push APK to device and invoke Package Manager as separate steps.
|
||
|
|
|
||
|
|
**\-\-streaming**
|
||
|
|
Force streaming APK directly into Package Manager.
|
||
|
|
|
||
|
|
**\-\-fastdeploy**
|
||
|
|
Use fast deploy.
|
||
|
|
|
||
|
|
**-no-fastdeploy**
|
||
|
|
Prevent use of fast deploy.
|
||
|
|
|
||
|
|
**-force-agent**
|
||
|
|
Force update of deployment agent when using fast deploy.
|
||
|
|
|
||
|
|
**-date-check-agent**
|
||
|
|
Update deployment agent when local version is newer and using fast deploy.
|
||
|
|
|
||
|
|
**\-\-version-check-agent**
|
||
|
|
Update deployment agent when local version has different version code and using fast deploy.
|
||
|
|
|
||
|
|
**\-\-local-agent**
|
||
|
|
Locate agent files from local source build (instead of SDK location). See also `adb shell pm help` for more options.
|
||
|
|
|
||
|
|
uninstall [**-k**] **APPLICATION_ID**
|
||
|
|
Remove this **APPLICATION_ID** from the device.
|
||
|
|
|
||
|
|
**-k**
|
||
|
|
Keep the data and cache directories.
|
||
|
|
|
||
|
|
# DEBUGGING:
|
||
|
|
|
||
|
|
bugreport [**PATH**]
|
||
|
|
Write bugreport to given PATH [default=bugreport.zip]; if **PATH** is a directory, the bug report is saved in that directory. devices that don't support zipped bug reports output to stdout.
|
||
|
|
|
||
|
|
jdwp
|
||
|
|
List pids of processes hosting a JDWP transport.
|
||
|
|
|
||
|
|
logcat
|
||
|
|
Show device log (logcat --help for more).
|
||
|
|
|
||
|
|
|
||
|
|
# SECURITY:
|
||
|
|
|
||
|
|
disable-verity
|
||
|
|
Disable dm-verity checking on userdebug builds.
|
||
|
|
|
||
|
|
enable-verity
|
||
|
|
Re-enable dm-verity checking on userdebug builds.
|
||
|
|
|
||
|
|
keygen **FILE**
|
||
|
|
Generate adb public/private key; private key stored in **FILE**.
|
||
|
|
|
||
|
|
# SCRIPTING:
|
||
|
|
|
||
|
|
wait-for [-**TRANSPORT**] -**STATE**...
|
||
|
|
Wait for device to be in a given state.
|
||
|
|
|
||
|
|
**STATE**: device, recovery, rescue, sideload, bootloader, or disconnect.
|
||
|
|
**TRANSPORT**: **usb**, **local**, or **any** [default=**any**].
|
||
|
|
|
||
|
|
get-state
|
||
|
|
Print offline | bootloader | device.
|
||
|
|
|
||
|
|
get-serialno
|
||
|
|
Print **SERIAL_NUMBER**.
|
||
|
|
|
||
|
|
get-devpath
|
||
|
|
Print **DEVICE_PATH**.
|
||
|
|
|
||
|
|
remount [**-R**]
|
||
|
|
Remount partitions read-write.
|
||
|
|
|
||
|
|
**-R**
|
||
|
|
Automatically reboot the device.
|
||
|
|
|
||
|
|
reboot [**bootloader**|**recovery**|**sideload**|**sideload-auto-reboot**]
|
||
|
|
Reboot the device; defaults to booting system image but supports **bootloader** and **recovery** too.
|
||
|
|
|
||
|
|
**sideload**
|
||
|
|
Reboots into recovery and automatically starts sideload mode.
|
||
|
|
|
||
|
|
**sideload-auto-reboot**
|
||
|
|
Same as **sideload** but reboots after sideloading.
|
||
|
|
|
||
|
|
|
||
|
|
sideload **OTAPACKAGE**
|
||
|
|
Sideload the given full OTA package **OTAPACKAGE**.
|
||
|
|
|
||
|
|
root
|
||
|
|
Restart adbd with root permissions.
|
||
|
|
|
||
|
|
unroot
|
||
|
|
Restart adbd without root permissions.
|
||
|
|
|
||
|
|
usb
|
||
|
|
Restart adbd listening on USB.
|
||
|
|
|
||
|
|
tcpip **PORT**
|
||
|
|
Restart adbd listening on TCP on **PORT**.
|
||
|
|
|
||
|
|
# INTERNAL DEBUGGING:
|
||
|
|
|
||
|
|
start-server
|
||
|
|
Ensure that there is a server running.
|
||
|
|
|
||
|
|
kill-server
|
||
|
|
Kill the server if it is running.
|
||
|
|
|
||
|
|
reconnect
|
||
|
|
Close connection from host side to force reconnect.
|
||
|
|
|
||
|
|
reconnect device
|
||
|
|
Close connection from device side to force reconnect.
|
||
|
|
|
||
|
|
reconnect offline
|
||
|
|
Reset offline/unauthorized devices to force reconnect.
|
||
|
|
|
||
|
|
# USB:
|
||
|
|
|
||
|
|
Only valid when running with libusb backend.
|
||
|
|
|
||
|
|
attach **SERIAL**
|
||
|
|
Attach a detached USB device identified by its **SERIAL** number.
|
||
|
|
|
||
|
|
detach **SERIAL**
|
||
|
|
Detach from a USB device identified by its **SERIAL** to allow use by other processes.
|
||
|
|
|
||
|
|
|
||
|
|
# ENVIRONMENT VARIABLES
|
||
|
|
|
||
|
|
$ADB_TRACE
|
||
|
|
Comma-separated list of debug info to log: all,adb,sockets,packets,rwx,usb,sync,sysdeps,transport,jdwp.
|
||
|
|
|
||
|
|
$ADB_VENDOR_KEYS
|
||
|
|
Colon-separated list of keys (files or directories).
|
||
|
|
|
||
|
|
$ANDROID_SERIAL
|
||
|
|
Serial number to connect to (see -s).
|
||
|
|
|
||
|
|
$ANDROID_LOG_TAGS
|
||
|
|
Tags to be used by logcat (see logcat --help).
|
||
|
|
|
||
|
|
$ADB_LOCAL_TRANSPORT_MAX_PORT
|
||
|
|
Max emulator scan port (default 5585, 16 emulators).
|
||
|
|
|
||
|
|
$ADB_MDNS_AUTO_CONNECT
|
||
|
|
Comma-separated list of mdns services to allow auto-connect (default adb-tls-connect).
|
||
|
|
|
||
|
|
# BUGS
|
||
|
|
|
||
|
|
See Issue Tracker: [here](https://issuetracker.google.com/issues/new?component=192795&template=1310483).
|
||
|
|
|
||
|
|
# AUTHORS
|
||
|
|
|
||
|
|
See [OWNERS](../../OWNERS) file in ADB AOSP repo.
|