ExplainerPublished: 3 min read

What Is ADB Used For? 12 Practical Examples

What ADB is used for in practice, from installing APKs and reading logcat to screen mirroring, file transfer, automation, Android TV control and recovery modes.

ADB is best known as a developer tool, but people use it for much more than debugging code. Below are the most common jobs it does, who does them, and where to learn each one. If you are new to the tool itself, start with what ADB is.

For app developers

1. Install and update builds. adb install app.apk puts a build on a real phone in seconds, without the Play Store. Add -r to update and keep the app's data. See how to install an APK with ADB.

2. Read the logs. adb logcat streams what the system and your app print, including the stack trace when an app crashes. It is usually the first thing to check when something goes wrong. See how to read logcat and finding a crash in logcat.

3. Run shell commands. adb shell opens a Linux command line on the device. You can inspect files, check settings, see running processes and start activities by hand.

4. Test on a device without Android Studio. Testers and designers can install a build and look at it on a real device with nothing but ADB. See testing an APK on a real device without Android Studio.

For QA and support

5. Capture screenshots and recordings. adb exec-out screencap -p and adb shell screenrecord capture exactly what is on the screen, at full resolution, for bug reports. See screenshots and screen recording with ADB.

6. Mirror and control the screen. Tools built on ADB, such as scrcpy and ADBKit, show the phone's screen on your computer and let you click and type into it. Handy for demos, remote help and long testing sessions. See screen mirroring tips.

7. Reproduce input exactly. adb shell input tap, swipe, text and keyevent send the same taps and key presses every time, which makes bugs easier to reproduce. See input keyevent and text tips.

For everyday power users

8. Move files. adb push and adb pull copy files between the computer and the phone without MTP, the usual cable file-transfer mode, which is often slow or drops out. See browsing and transferring files with ADB.

9. Turn off preinstalled apps. adb shell pm disable-user --user 0 <package> hides a preinstalled app you never use without rooting the phone, and pm enable brings it back. Be careful not to disable system components.

10. Control a TV or streaming box. Android TV, Google TV and Fire TV accept ADB over the network, so you can press remote keys, type into search boxes and sideload apps from your computer. See controlling an Android TV with ADB.

For repairs and flashing

11. Reboot into special modes. adb reboot recovery, adb reboot bootloader and, on Samsung, adb reboot download reach recovery, fastboot and download mode without fiddly button combinations. See ADB reboot modes, fastboot mode and Samsung download mode.

12. Install updates by sideloading. In recovery, adb sideload update.zip installs an official OTA update file from your computer, which is useful when the phone cannot download it itself.

What ADB cannot do

  • Get past a lock screen. ADB needs USB debugging to be on and the computer to be approved on the unlocked phone first.
  • Read other apps' private data. Without root, adb shell runs as a limited user and cannot open apps' private folders.
  • Work on an iPhone. ADB is Android only.

Do I need to install anything?

The classic way is Google's Android SDK platform-tools and a terminal. If you would rather not install anything, ADBKit runs ADB in Chrome or Edge. Plug in the phone over USB, or use your network with a small agent, and you get the screen, logcat, shell, files and APK install in one tab. Everything stays between your browser, your computer and your device.

Ready to try? Start with enabling USB debugging, then keep the ADB commands cheat sheet open.