Skip to content

ADB – Android Debug Bridge

ADB (Android Debug Bridge)

Android Debug Bridge (adb) is a versatile command-line tool that lets you communicate with a device. The adb command facilitates a variety of device actions, such as installing and debugging apps, and it provides access to a Unix shell that you can use to run a variety of commands on a device. It is a client-server program that includes three components:

  • A client, which sends commands. The client runs on your development machine. You can invoke a client from a command-line terminal by issuing an adb command.
  • A daemon (adbd), which runs commands on a device. The daemon runs as a background process on each device.
  • A server, which manages communication between the client and the daemon. The server runs as a background process on your development machine.

adb is included in the Android SDK Platform-Tools package. You can download this package with the SDK Manager, which installs it at android_sdk/platform-tools/. Or if you want the standalone Android SDK Platform-Tools package, you can download it here.

Selecting Device

adb devicesThis command is used to retrieve all devices by serial number
adb devices -lList of devices by product/model

App installation & uninstallation

adb install <apk>Install app
adb shell pm install <path_from_phone>Install app from phone path
adb shell pm install -r <path_from_phone>Reinstall app from phone path
adb uninstall <>Remove the app

App info

adb shell pm list packagesList package names
adb shell pm list packages -fas above + path tp APks
adb shell pm -3only third party packages
adb shell pm -sonly system packages
adb shell pm -ualso uninstalled packages
adb shell dumpsys package packagesList info on all apps
adb shell pm dump nameList info on one package
adb shell pm path packagepath to the APK file


adb shell pm permission groupsPermission groups definitions
adb shell pm list permissions -g -fList permissions details

Common actions

am start -a android.intent.action.VIEW -d URLTo open the URL


screencap -p .pngScreenshot (saved on device)
screenrecord .mp4Screen capture (path on device)

ADB daemon

adb kill-serverKill the server if it is running
adb start-serverEnsure that there is a server running
adb rootRestarts the adbd with root permissions