Android Debug Bridge (ADB) Cheat Sheet: A Power User's Guide

Android Debug Bridge (ADB) Cheat Sheet: A Power User's Guide

The Android Debug Bridge (ADB) is your secret weapon for unlocking the true potential of your Android device. Whether you're a seasoned developer testing apps or a curious tinkerer exploring hidden corners, ADB is your gateway. But navigating its vast command arsenal can feel overwhelming. Fear not, fellow Android adventurer! This comprehensive cheat sheet will equip you with the essential ADB commands to unleash your inner power user.

ADB Basics

COMMAND: EXPLANATION
adb devices: lists connected devices
adb root: restarts adb with root permissions
adb start-server: starts the adb server
adb kill-server: kills the adb server
adb reboot: reboots the device
adb devices -l: list of devices by product/model
adb shell: starts the backround terminal
exit: exits the background terminal
adb help: list all commands
adb -s <deviceName> <command>: redirect command to specifc device
adb –d <command>: directs command to only attached USB device
adb –e <command>: directs command to only attached emulator

Paths

COMMAND: EXPLANATION
/data/data/<package>/databases: app databases
/data/data/<package>/shared_prefs/: shared preferences
/data/app: apk installed by user
/system/app: pre-installed APK fles
/mmt/asec: encrypted apps / App2SD
/mmt/emmc: internal SD Card
/mmt/adcard: external/Internal SD Card
/mmt/adcard/external_sd: external SD Card

Path Commands

COMMAND EXPLANATION
adb shell ls: list directory contents
adb shell ls -s: print size of each file
adb shell ls -R: list subdirectories recursively

Table

COMMAND: EXPLANATION
adb shell list packages: list package names
adb shell list packages -r: list package name + path to apks
adb shell list packages -3: list third party package names
adb shell list packages -s: list only system packages
adb shell list packages -u: list package names + uninstalled
adb shell dumpsys package packages: list info on all apps
adb shell dump <name>: list info on one package
adb shell path <package>: path to the apk file

Package Installation

COMMAND: EXPLANATION
adb shell install <apk>: install app
adb shell install <path>: install app from phone path
adb shell install -r <path>: install app from phone path
adb shell uninstall <name>: remove the app

File Operations

LOCATOR: EXPLANATION
adb push <local> <remote>: copy fle/dir to device
adb pull <remote> <local>: copy fle/dir from device
run-as <package> cat <fle>: access the private package fles

Phone Info

COMMAND: EXPLANATION
adb get-state: print device state
adb get-serialno: get the serial number
adb shell dumpsys iphonesybinfo: get the IMEI
adb shell netstat: list TCP connectivity
adb shell pwd: print current working directory
adb shell dumpsys battery: battery status
adb shell pm list features: list phone features
adb shell service list: list all services
adb shell dumpsys activity <package>/<activity>: activity info
adb shell ps: print process status
adb shell wm size: displays the current screen resolution
dumpsys window windows | grep -E 'mCurrentFocus|mFocusedApp': print current app's opened activity

Configure Settings Commands

COMMAND EXPLANATION
adb shell dumpsys battery set level <n>: change the level from 0 to 100
adb shell dumpsys battery set status <n>: change the level to unknown, charging, discharging, not charging or full
adb shell dumpsys battery reset: reset the battery
adb shell dumpsys battery set usb <n>: change the status of USB connection ON or OFF
adb shell wm size WxH: sets the resolution to WxH

Logs

COMMAND: EXPLANATION
adb logcat [options] [flter]: view device log
adb bugreport: print bug reports

Permissions

COMMAND EXPLANATION
adb shell permissions groups: list permission groups defnitions
adb shell list permissions -g -r: list permissions details

Device Related Commands

COMMAND: EXPLANATION
adb reboot-recovery: reboot device into recovery mode
adb reboot fastboot: reboot device into recovery mode
adb shell screencap -p "/path/to/screenshot.png": capture screenshot
adb shell screenrecord "/path/to/record.mp4": record device screen
adb backup -apk -all -f backup.ab: backup settings and apps
adb backup -apk -shared -all -f backup.ab: backup settings, apps and shared storage
adb backup -apk -nosystem -all -f backup.ab: backup only non-system apps
adb restore backup.ab: restore a previous backup
adb shell am start|startservice|broadcast <INTENT>[<COMPONENT>] -a <ACTION> e.g. android.intent.action.VIEW -c <CATEGORY> e.g. android.intent.category.LAUNCHER: start activity intent
adb shell am start -a android.intent.action.VIEW -d URL: open URL
adb shell am start -t image/* -a android.intent.action.VIEW: opens gallery