{
"name": "adb",
"description": "Android Debug Bridge",
"subcommands": [
{
"name": "devices",
"description": "List connected devices",
"options": [
{
"names": [
"-l"
],
"description": "Long output"
}
]
},
{
"name": "help",
"description": "Show this help message"
},
{
"name": "get-state",
"description": "Print offline | bootloader | device"
},
{
"name": "get-serialno",
"description": "Print <serial-number>"
},
{
"name": "get-devpath",
"description": "Print <device-path>"
},
{
"name": "remount",
"description": "Remount partitions read-write. if a reboot is required, -R will automatically reboot the device",
"options": [
{
"names": [
"-R"
],
"description": "Reboot device"
}
]
},
{
"name": "jdwp",
"description": "List pids of processes hosting a JDWP transport"
},
{
"name": "root",
"description": "Restart adbd with root permissions"
},
{
"name": "unroot",
"description": "Restart adbd without root permissions"
},
{
"name": "usb",
"description": "Restart adbd listening on USB"
},
{
"name": "sideload",
"description": "Sideload the given full OTA package",
"args": [
{
"name": "OTAPACKAGE"
}
]
},
{
"name": "start-server",
"description": "Ensure that there is a server running"
},
{
"name": "kill-server",
"description": "Kill the server if it is running"
},
{
"name": "reconnect",
"description": "Kick connection from host side to force reconnect",
"subcommands": [
{
"name": "device",
"description": "Kick connection from device side to force reconnect"
},
{
"name": "offline",
"description": "Reset offline/unauthorized devices to force reconnect`"
}
]
},
{
"name": "tcpip",
"description": "Restart adbd listening on TCP on PORT",
"args": [
{
"name": "PORT"
}
]
},
{
"name": "reboot",
"description": "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 is the same bu",
"args": [
{
"name": "type",
"suggestions": [
"bootloader",
"recovery",
"sideload",
"sideload-auto-reboot"
]
}
]
},
{
"name": "disable-verity",
"description": "Disable dm-verity checking on userdebug builds"
},
{
"name": "enable-verity",
"description": "Re-enable dm-verity checking on userdebug builds"
},
{
"name": "wait-for-device",
"description": "Wait for state=device"
},
{
"name": "wait-for-recovery",
"description": "Wait for state=recovery"
},
{
"name": "wait-for-rescue",
"description": "Wait for state=rescue"
},
{
"name": "wait-for-sideload",
"description": "Wait for state=sideload"
},
{
"name": "wait-for-bootloader",
"description": "Wait for state=bootloader"
},
{
"name": "wait-for-disconnect",
"description": "Wait for state=disconnect"
},
{
"name": "wait-for-usb-device",
"description": "Wait for usb in state=device"
},
{
"name": "wait-for-usb-recovery",
"description": "Wait for usb in state=recovery"
},
{
"name": "wait-for-usb-rescue",
"description": "Wait for usb in state=rescue"
},
{
"name": "wait-for-usb-sideload",
"description": "Wait for usb in state=sideload"
},
{
"name": "wait-for-usb-bootloader",
"description": "Wait for usb in state=bootloader"
},
{
"name": "wait-for-usb-disconnect",
"description": "Wait for usb in state=disconnect"
},
{
"name": "wait-for-local-device",
"description": "Wait for local in state=device"
},
{
"name": "wait-for-local-recovery",
"description": "Wait for local in state=recovery"
},
{
"name": "wait-for-local-rescue",
"description": "Wait for local in state=rescue"
},
{
"name": "wait-for-local-sideload",
"description": "Wait for local in state=sideload"
},
{
"name": "wait-for-local-bootloader",
"description": "Wait for local in state=bootloader"
},
{
"name": "wait-for-local-disconnect",
"description": "Wait for local in state=disconnect"
},
{
"name": "wait-for-any-device",
"description": "Wait for any in state=device"
},
{
"name": "wait-for-any-recovery",
"description": "Wait for any in state=recovery"
},
{
"name": "wait-for-any-rescue",
"description": "Wait for any in state=rescue"
},
{
"name": "wait-for-any-sideload",
"description": "Wait for any in state=sideload"
},
{
"name": "wait-for-any-bootloader",
"description": "Wait for any in state=bootloader"
},
{
"name": "wait-for-any-disconnect",
"description": "Wait for any in state=disconnect"
},
{
"name": "keygen",
"description": "Generate adb public/private key; private key stored in FILE",
"args": [
{
"name": "FILE",
"template": "filepaths"
}
]
},
{
"name": "logcat",
"description": "Show device log (logcat --help for more)"
},
{
"name": "version",
"description": "Show version num"
},
{
"name": "connect",
"description": "Connect to a device via TCP/IP [default port=5555]",
"args": [
{
"name": "HOST[:PORT]"
}
]
},
{
"name": "disconnect",
"description": "Disconnect from given TCP/IP device [default port=5555], or all",
"args": [
{
"name": "HOST[:PORT]"
}
]
},
{
"name": "uninstall",
"description": "Remove this app package from the device",
"options": [
{
"names": [
"-k"
],
"description": "Keep the data and cache directories"
}
]
},
{
"name": "bugreport",
"description": "Write bugreport to given PATH [default=bugreport.zip];",
"args": [
{
"name": "PATH"
}
]
},
{
"name": "pair",
"description": "Pair with a device for secure TCP/IP communication",
"args": [
{
"name": "HOST[:PORT]"
},
{
"name": "[PAIRING CODE]"
}
]
},
{
"name": "ppp",
"description": "Run PPP over USB",
"args": [
{
"name": "TTY"
},
{
"name": "[PARAMETER...]",
"is_variadic": true
}
]
},
{
"name": "emu",
"description": "Run emulator console command",
"args": [
{
"name": "COMMAND"
}
]
},
{
"name": "install",
"description": "Push a single package to the device and install it",
"options": [
{
"names": [
"-l"
],
"description": "Forward-lock the app"
},
{
"names": [
"-r"
],
"description": "Replace existing application"
},
{
"names": [
"-t"
],
"description": "Allow test packages"
},
{
"names": [
"-d"
],
"description": "Allow version code downgrade (debuggable packages only)"
},
{
"names": [
"-s"
],
"description": "Install on SD card instead of internal storage"
},
{
"names": [
"-g"
],
"description": "Grant all runtime permissions"
},
{
"names": [
"--abi"
],
"description": "Override platform's default ABI",
"takes_arg": true,
"arg": {
"name": "ABI"
}
},
{
"names": [
"--instant"
],
"description": "Cause the app to be installed as an ephemeral install app"
},
{
"names": [
"--no-streaming"
],
"description": "Always push APK to device and invoke Package Manager as separate steps"
},
{
"names": [
"--streaming"
],
"description": "Force streaming APK directly into Package Manager"
},
{
"names": [
"--fastdeploy"
],
"description": "Use fast deploy"
},
{
"names": [
"--no-fastdeploy"
],
"description": "Prevent use of fast deploy"
},
{
"names": [
"--force-agent"
],
"description": "Force update of deployment agent when using fast deploy"
},
{
"names": [
"--date-check-agent"
],
"description": "Update deployment agent when local version is newer and using fast deploy"
},
{
"names": [
"--version-check-agent"
],
"description": "Update deployment agent when local version has different version code and using fast deploy"
},
{
"names": [
"--local-agent"
],
"description": "Locate agent files from local source build (instead of SDK location)"
}
],
"args": [
{
"name": "PACKAGE",
"template": "filepaths"
}
]
},
{
"name": "install-multiple",
"description": "Push multiple APKs to the device for a single package and install them",
"options": [
{
"names": [
"-p"
],
"description": "Partial application install (install-multiple only)"
},
{
"names": [
"-l"
],
"description": "Forward-lock the app"
},
{
"names": [
"-r"
],
"description": "Replace existing application"
},
{
"names": [
"-t"
],
"description": "Allow test packages"
},
{
"names": [
"-d"
],
"description": "Allow version code downgrade (debuggable packages only)"
},
{
"names": [
"-s"
],
"description": "Install on SD card instead of internal storage"
},
{
"names": [
"-g"
],
"description": "Grant all runtime permissions"
},
{
"names": [
"--abi"
],
"description": "Override platform's default ABI",
"takes_arg": true,
"arg": {
"name": "ABI"
}
},
{
"names": [
"--instant"
],
"description": "Cause the app to be installed as an ephemeral install app"
},
{
"names": [
"--no-streaming"
],
"description": "Always push APK to device and invoke Package Manager as separate steps"
},
{
"names": [
"--streaming"
],
"description": "Force streaming APK directly into Package Manager"
},
{
"names": [
"--fastdeploy"
],
"description": "Use fast deploy"
},
{
"names": [
"--no-fastdeploy"
],
"description": "Prevent use of fast deploy"
},
{
"names": [
"--force-agent"
],
"description": "Force update of deployment agent when using fast deploy"
},
{
"names": [
"--date-check-agent"
],
"description": "Update deployment agent when local version is newer and using fast deploy"
},
{
"names": [
"--version-check-agent"
],
"description": "Update deployment agent when local version has different version code and using fast deploy"
},
{
"names": [
"--local-agent"
],
"description": "Locate agent files from local source build (instead of SDK location)"
}
],
"args": [
{
"name": "PACKAGE",
"is_variadic": true,
"template": "filepaths"
}
]
},
{
"name": "install-multi-package",
"description": "Push one or more packages to the device and install them atomically",
"options": [
{
"names": [
"-p"
],
"description": "Partial application install (install-multiple only)"
},
{
"names": [
"-l"
],
"description": "Forward-lock the app"
},
{
"names": [
"-r"
],
"description": "Replace existing application"
},
{
"names": [
"-t"
],
"description": "Allow test packages"
},
{
"names": [
"-d"
],
"description": "Allow version code downgrade (debuggable packages only)"
},
{
"names": [
"-s"
],
"description": "Install on SD card instead of internal storage"
},
{
"names": [
"-g"
],
"description": "Grant all runtime permissions"
},
{
"names": [
"--abi"
],
"description": "Override platform's default ABI",
"takes_arg": true,
"arg": {
"name": "ABI"
}
},
{
"names": [
"--instant"
],
"description": "Cause the app to be installed as an ephemeral install app"
},
{
"names": [
"--no-streaming"
],
"description": "Always push APK to device and invoke Package Manager as separate steps"
},
{
"names": [
"--streaming"
],
"description": "Force streaming APK directly into Package Manager"
},
{
"names": [
"--fastdeploy"
],
"description": "Use fast deploy"
},
{
"names": [
"--no-fastdeploy"
],
"description": "Prevent use of fast deploy"
},
{
"names": [
"--force-agent"
],
"description": "Force update of deployment agent when using fast deploy"
},
{
"names": [
"--date-check-agent"
],
"description": "Update deployment agent when local version is newer and using fast deploy"
},
{
"names": [
"--version-check-agent"
],
"description": "Update deployment agent when local version has different version code and using fast deploy"
},
{
"names": [
"--local-agent"
],
"description": "Locate agent files from local source build (instead of SDK location)"
}
],
"args": [
{
"name": "PACKAGE",
"is_variadic": true,
"template": "filepaths"
}
]
},
{
"name": "shell",
"description": "Run remote shell command (interactive shell if no command given)",
"options": [
{
"names": [
"-e"
],
"description": "Choose escape character, or `none` default '~'"
},
{
"names": [
"-n"
],
"description": "Don't read from stdin"
},
{
"names": [
"-T"
],
"description": "Disable pty allocation"
},
{
"names": [
"-t"
],
"description": "Allocate a pty if on a tty"
},
{
"names": [
"-tt"
],
"description": "-tt: force pty allocation"
},
{
"names": [
"-x"
],
"description": "Disable remote exit codes and stdout/stderr separation"
}
],
"args": [
{
"name": "COMMANDS ...",
"is_variadic": true
}
]
},
{
"name": "mdns",
"description": "Mdns utils",
"subcommands": [
{
"name": "check",
"description": "Check if mdns discovery is available"
},
{
"name": "services",
"description": "List all discovered services"
}
]
},
{
"name": "push",
"description": "Copy local files/directories to device",
"options": [
{
"names": [
"--sync"
],
"description": "Only push files that are newer on the host than the device"
},
{
"names": [
"-n"
],
"description": "Dry run: push files to device without storing to the filesystem"
},
{
"names": [
"-z"
],
"description": "Enable compression with a specified algorithm (any, none, brotli)",
"takes_arg": true,
"arg": {
"name": "ALGORITHM",
"suggestions": [
"any",
"none",
"brotli"
]
}
},
{
"names": [
"-Z"
],
"description": "Disable compression"
}
],
"args": [
{
"name": "LOCAL",
"is_variadic": true,
"template": "filepaths"
},
{
"name": "REMOTE"
}
]
},
{
"name": "sync",
"description": "Sync a local build from $ANDROID_PRODUCT_OUT to the device (default all)",
"options": [
{
"names": [
"-n"
],
"description": "Dry run: push files to device without storing to the filesystem"
},
{
"names": [
"-l"
],
"description": "List files that would be copied, but don't copy them"
},
{
"names": [
"-z"
],
"description": "Enable compression with a specified algorithm (any, none, brotli)",
"takes_arg": true,
"arg": {
"name": "ALGORITHM",
"suggestions": [
"any",
"none",
"brotli"
]
}
},
{
"names": [
"-Z"
],
"description": "Disable compression"
}
],
"args": [
{
"suggestions": [
"all",
"data",
"odm",
"oem",
"product",
"system",
"system_ext",
"vendor"
]
}
]
},
{
"name": "pull",
"description": "Copy files/dirs from device",
"options": [
{
"names": [
"-a"
],
"description": "Preserve file timestamp and mode"
},
{
"names": [
"-z"
],
"description": "Enable compression with a specified algorithm (any, none, brotli)",
"takes_arg": true,
"arg": {
"name": "ALGORITHM",
"suggestions": [
"any",
"none",
"brotli"
]
}
},
{
"names": [
"-Z"
],
"description": "Disable compression"
}
],
"args": [
{
"name": "REMOTE",
"is_variadic": true,
"template": "filepaths"
},
{
"name": "LOCAL"
}
]
},
{
"name": "forward",
"description": "Forward connection",
"options": [
{
"names": [
"--list"
],
"description": "List all forward socket connections"
},
{
"names": [
"--remove"
],
"description": "Remove specific forward socket connection",
"takes_arg": true,
"arg": {
"name": "LOCAL"
}
},
{
"names": [
"--remove-all"
],
"description": "Remove all forward socket connections"
},
{
"names": [
"--no-rebind"
],
"description": "Reversal fails if the specified socket is already bound through a previous reverse command"
}
],
"args": [
{
"name": "LOCAL -> port|domain|device|pid",
"suggestions": [
"tcp",
"localabstract",
"localreserved",
"localfilesystem",
"dev",
"jdwp",
"acceptfd"
]
},
{
"name": "REMOTE -> port|domain|device|pid",
"suggestions": [
"tcp",
"localabstract",
"localreserved",
"localfilesystem",
"dev",
"jdwp",
"acceptfd"
]
}
]
},
{
"name": "reverse",
"description": "Reverse connection",
"options": [
{
"names": [
"--list"
],
"description": "List all reverse socket connections from device"
},
{
"names": [
"--remove"
],
"description": "Remove specific reverse socket connection",
"takes_arg": true,
"arg": {
"name": "REMOTE"
}
},
{
"names": [
"--remove-all"
],
"description": "Remove all reverse socket connections from device"
},
{
"names": [
"--no-rebind"
],
"description": "Reversal fails if the specified socket is already bound through a previous reverse command"
}
],
"args": [
{
"name": "REMOTE -> port|domain|device|pid",
"suggestions": [
"tcp",
"localabstract",
"localreserved",
"localfilesystem"
]
},
{
"name": "LOCAL -> port|domain|device|pid",
"suggestions": [
"tcp",
"localabstract",
"localreserved",
"localfilesystem"
]
}
]
}
],
"options": [
{
"names": [
"-a"
],
"description": "Listen on all network interfaces, not just localhost"
},
{
"names": [
"-d"
],
"description": "Use USB device (error if multiple devices connected)"
},
{
"names": [
"-e"
],
"description": "Use TCP/IP device (error if multiple TCP/IP devices available)"
},
{
"names": [
"-s"
],
"description": "Use device with given serial (overrides $ANDROID_SERIAL)",
"takes_arg": true,
"arg": {
"name": "SERIAL"
}
},
{
"names": [
"-t"
],
"description": "Use device with given transport id",
"takes_arg": true,
"arg": {
"name": "ID"
}
},
{
"names": [
"-H"
],
"description": "Name of adb server host [default=localhost]",
"takes_arg": true,
"arg": {
"name": "host name"
}
},
{
"names": [
"-P"
],
"description": "Port of adb server [default=5037]",
"takes_arg": true,
"arg": {
"name": "port"
}
},
{
"names": [
"-L"
],
"description": "Listen on given socket for adb server [default=tcp:localhost:5037]",
"takes_arg": true,
"arg": {
"name": "socket"
}
}
]
}