ADB Commands List for Android

This is a complete list of ADB commands cheat sheet that you can refer to when working with the Android Debug Bridge and Android devices. Bookmark this page for reference or save it as a PDF for offline access.


If youโ€™re an Android enthusiast like me, youโ€™ve probably heard about the Android Debug Bridge (ADB) โ€“ a versatile command-line tool that lets you communicate with a device. Whether youโ€™re a developer looking to debug an app, or a power user wanting to tinker with their device, ADB is an essential tool. You can download it as part of the Android SDK Platform Tools package.

You can use ADB to perform various tasks, such as installing apps, debugging, accessing hidden features, and more. In this article, we will show you a detailed list of all ADB commands for Android, along with a brief description and an example for each one.

adb provides access to a Unix shell on your Windows PC or Mac that you can use to run a variety of commands on an Android device. It is a client-server program that includes three components:

  • 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.
  • Daemon (adbd), which runs commands on a device. The daemon runs as a background process on each device.
  • Server, which manages communication between the client and the daemon. The server runs as a background process on your development machine.

Last updated: March 2026
Tested with: Latest Android SDK Platform Tools

All ADB Commands List Directory

ADB - Android Debug Bridge
Android Debug Bridge

There are only a handful of base commands listed in the official adb documentation, but with arguments and parameters, the practical combinations are huge. You can save this ADB cheat sheet guide for whenever you want to perform debugging actions on your device.

Before you can run any commands, you need to install Android USB drivers, enable USB debugging (often called ADB debugging) on your Android device and install ADB tools on your computer.

Related: Fastboot Commands List for Android

Once setup is complete, open a terminal/command prompt window and run adb commands.

adb devices

The adb devices command provides a list of devices currently connected to your computer.

Example:

adb devices -l

Output will look similar to:

List of devices attached
emulator-5554 device

adb push

With adb push, you can transfer a file or directory from your computer to your Android device.

Example:
Suppose you have a file named โ€œsample.txtโ€ on your computer and you want to transfer it to your deviceโ€™s /sdcard/ directory.

adb push sample.txt /sdcard/

adb pull

The opposite of adb push, adb pull command lets you copy a file or directory from your Android device to your computer.

Example:
Letโ€™s say you want to fetch a file named โ€œsample.txtโ€ from the /sdcard/ directory of your device.

adb pull /sdcard/sample.txt .

adb install

For users who sideload apps frequently, adb install is a godsend and one of the most useful commands. This command allows you to install APKs from your computer onto your Android device. To make this work, you need to copy the APK file into the platforms-tools folder on your computer.

Example:
To install an APK named โ€œapp.apkโ€:

adb install app.apk

There are some variations of this command that you should know about.

In case you want to update or reinstall an app without losing its data, you should use the following command:

adb install -r app.apk

And for those who want to install APK files directly to the SD card, you can use the following two commands so the app is not installed in your internal storage:

adb install -s app.apk
adb install -k <APK file path on PC>

If you want to install an APK and automatically grant all runtime permissions listed in the appโ€™s manifest, use the following command:

adb install -g app.apk

adb uninstall

If you want to remove an app from your Android phone or tablet using ADB, the adb uninstall command is what youโ€™ll use. It requires the package name of the app.

Example:
To uninstall an app with the package name com.example.myapp:

adb uninstall com.example.myapp

adb reboot

If you need to restart your device and itโ€™s not at hand, you can easily do so with the adb reboot command.

Example:
Just run:

adb reboot

Your device will promptly restart.

You can also reboot to specific modes:

adb reboot bootloader
adb reboot recovery

adb logcat

For developers or those troubleshooting their device, the adb logcat command displays the device log in real-time. This log provides insights into whatโ€™s happening behind the scenes.

Example:
To view your deviceโ€™s logs:

adb logcat

This command also comes with some important parameters and variations that may be useful when debugging.

You should use the following command when you want to clear any existing logs on your device.

adb logcat -c // clear //

And if you want to save the log contents / logcat data to your PC, you should use the following command:

adb logcat -d > adb-logcat.txt

adb backup (legacy)

The adb backup command allows you to create a backup of your device. Itโ€™s handy for saving important data before a factory reset.

Note: This is an older command and is not reliable for modern/newer Android versions.

Example:
To create a backup named โ€œbackup.abโ€:

adb backup -f backup.ab -all

adb backup -apk (legacy)

The adb backup -apk command is used to create a backup of your deviceโ€™s installed apps along with their APK files. This is particularly useful for app archival.

Note: This is another legacy backup command variant and is not reliable for modern Android versions i.e. Android 14, Android 15, Android 16 etc.

Example:
To create a backup of apps with their APKs:

adb backup -apk -f backup.ab

adb backup -all -apk -obb -shared -system (legacy)

This legacy command is an extensive version of the adb backup command, allowing you to create a complete backup of your device, including apps, app data, and system data.

Note: This is another legacy backup command variant.

Example:
To create a comprehensive backup:

adb backup -all -apk -obb -shared -system -f backup.ab

adb restore (legacy)

After backing up your data, you can restore it using the adb restore command.

Note: This is legacy restore command and is not reliable for newer Android versions i.e. Android 14, Android 15, Android 16 etc.

Example:
To restore from a backup named โ€œbackup.abโ€:

adb restore backup.ab

adb sideload

The adb sideload command is useful for flashing zip files, especially OTA updates, onto your device without transferring them first.

Example:
To sideload an OTA update named โ€œupdate.zipโ€:

adb sideload update.zip

adb remount

If youโ€™re working with system files, you may need to remount the /system partition in read-write mode. The adb remount command lets you do just that.

Example:
To remount the system partition:

adb remount

adb shell

Using the adb shell command, you can start a remote command-line session on your Android device from your computer.

Example:
Simply type:

adb shell

And youโ€™ll get a command prompt where you can run commands directly on your device.

adb shell screencap

Want to take a screenshot directly from the command line? The adb shell screencap command lets you capture the deviceโ€™s current screen.

Example:
To save a screenshot as โ€œscreenshot.pngโ€ on your deviceโ€™s storage:

adb shell screencap /sdcard/screenshot.png
adb pull /sdcard/screenshot.png

adb shell screenrecord

The adb shell screenrecord command is a gem for recording the screen of your device. This is especially helpful for developers or content creators.

Example:
To start recording the screen and save it as โ€œrecording.mp4โ€:

adb shell screenrecord /sdcard/recording.mp4
adb pull /sdcard/recording.mp4

adb shell dumpsys

The adb shell dumpsys command is a powerful one. It provides comprehensive information (diagnostic output) about Android system services. Developers often use this to extract in-depth details for troubleshooting.

Example:
To get information about the battery:

adb shell dumpsys battery

adb shell setprop

If you want to change system properties, adb shell setprop is the command you need. Remember, tweaking these properties can affect system behavior, so proceed with caution.

Example:
To change the deviceโ€™s density:

adb shell setprop ro.sf.lcd_density 240

adb shell wm

The adb shell wm command allows you to interact with the window manager, which controls elements like screen density and screen size.

Example:
To set the deviceโ€™s screen density to 240:

adb shell wm density 240

adb shell wm size

The adb shell wm size command lets you change the screen size or resolution of your Android device temporarily, which can be helpful for testing app compatibility.

Example:
To set the screen size to 1080ร—1920:

adb shell wm size 1080x1920

adb shell pm

The adb shell pm command is used for package management tasks like listing installed packages or uninstalling apps.

Example:
To list all installed packages:

adb shell pm list packages

adb shell input

The adb shell input command allows you to simulate user input events like taps, swipes, or key presses.

Example:
To simulate a tap at coordinates (500, 700):

adb shell input tap 500 700

adb shell am

The adb shell am command is a versatile tool for interacting with Androidโ€™s Activity Manager, enabling actions like starting activities and broadcasting intents.

Example:
To start an activity:

adb shell am start -n com.example.myapp/.MainActivity

adb shell dumpstate

The adb shell dumpstate command generates a bug report of the deviceโ€™s current state, which can be useful for diagnosing issues.

Example:
To create a bug report:

adb shell dumpstate > bugreport.txt

For complete reports, adb bugreport is often preferred:

adb bugreport

adb shell pm list users

The adb shell pm list users command displays a list of user accounts on the Android device. This can be useful for managing user profiles on a multi-user device.

Example:
To list the user accounts on the device:

adb shell pm list users

adb shell wm overscan (legacy)

The adb shell wm overscan command lets you adjust overscan settings, which can be helpful for adjusting the display on certain devices or screens.

Note: This is legacy command may not work on newer Android versions.

Example:
To reduce overscan by 5% in all directions:

adb shell wm overscan 5,5,5,5

adb shell wm density

The adb shell wm density command allows you to change the screen density of your device temporarily, which can be useful for testing app layouts on different screen densities.

Example:
To set the screen density to 320:

adb shell wm density 320

adb shell input text

The adb shell input text command allows you to simulate text input on your Android device. This can be useful for automated testing or filling out forms.

Example:
To input the text โ€œHello, Android!โ€:

adb shell input text "Hello Android!"

adb shell input swipe

With the adb shell input swipe command, you can simulate a swipe or gesture on the touchscreen of your Android device.

Example:
To simulate a swipe from (100, 500) to (300, 500):

adb shell input swipe 100 500 300 500

adb shell input keyevent

The adb shell input keyevent command allows you to simulate key presses on the device, such as volume control or media playback.

Example:
To simulate the volume up key press:

adb shell input keyevent 24

adb shell dumpsys batteryinfo (legacy note)

The adb shell dumpsys batteryinfo command provides detailed information about the battery status and usage, which can be useful for diagnosing battery-related issues.

Example:
To get battery information:

adb shell dumpsys batteryinfo

Note: Instead of the above command, use this instead:

adb shell dumpsys battery

adb shell cat

The adb shell cat command allows you to view the contents of files on the Android device directly in the terminal.

Example:
To view the contents of a text file named โ€œexample.txtโ€:

adb shell cat /path/to/example.txt

adb shell pm hide

The adb shell pm hide command lets you hide a specific package on your Android device. This can be useful for disabling pre-installed apps.

Example:
To hide a package with the name โ€œcom.example.appโ€:

adb shell pm hide com.example.app

adb get-serialno

To fetch the serial number of the connected device, use the adb get-serialno command.

Example:

adb get-serialno

adb get-state

This command shows the ADB status of the connected Android phone, tablet, watch or an emulator.

adb wait-for-device

If youโ€™re running a script and want to ensure that the ADB command only runs when your device is connected, the adb wait-for-device command pauses the script execution until a device is detected.

Example:

adb wait-for-device

adb wait-for-device shell

While adb wait-for-device was mentioned earlier, combining it with adb shell can be valuable when you want to execute shell commands only when the device is ready.

Example:
To wait for the device and then run a shell command:

adb wait-for-device shell "echo Hello, Android!"

adb forward

The adb forward command sets up port forwarding between your computer (host) and Android device, useful for debugging purposes.

Example:
To forward requests from port 5000 on your computer to port 6000 on your device:

adb forward tcp:5000 tcp:6000

adb reverse

This command sets up reverse port forwarding between your Android device and the host.

Example:

adb reverse tcp:8081 tcp:8081

adb install-multiple

If you have multiple split APK files to install together, the adb install-multiple command allows you to do this efficiently.

Example:
To install multiple APKs:

adb install-multiple app1.apk app2.apk app3.apk

adb install-multi-package

You can install multiple package APKs in one session with this command.

adb install-multi-package app1.apk app2.apk

adb pair (Android 11+)

This command is for modern wireless debugging pairing flow:

adb pair 192.168.1.20:37109

adb tcpip

The adb tcpip command allows you to switch from USB (ADB daemon) to TCP/IP mode for ADB connections, which can be useful when you want to connect wirelessly.

Example:
To switch to TCP/IP mode on port 5555:

adb tcpip 5555

adb start-server

You can use the adb start-server command if it stops working on your phone or the PC. This is used to start the ADB server on your Android device.

adb kill-server

If your ADB commands stop working or become unresponsive, you can easily kill the ADB server on your Android device with the adb kill-server command.

adb connect ip_address_of_device

The adb connect ip_address_of_device command is used to find the IP address of the connected Android device and connect it to the PC.

Example:

adb connect 192.168.1.20:5555

adb jdwp

You can use the adb jdwp command to see the list of all the JDWP processes on your PC. JDWP is short for Java Debug Wire Protocol.


I hope this list gives you a solid introduction to some of the most common ADB commands out there. Remember, while ADB is a powerful tool, always ensure you know the consequences of the commands youโ€™re running โ€“ especially if youโ€™re new to ADB. Iโ€™d advise you to bookmark this page as I will be updating it with newer commands (as I learn them) over time.

If there are any more commands that you think should be included in the list above, drops us a comment below and lets us know. You can also visit the ADB documentation page for more information about this tool.

FAQs

What is ADB used for on Android?

ADB (Android Debug Bridge) lets your computer send commands to an Android device. Itโ€™s commonly used to install/uninstall apps, transfer files, read logs, run shell commands, reboot into recovery/bootloader modes, debugging and troubleshoot devices.

How do I fixย adb unauthorized?

On your phone, unplug and reconnect USB, then accept theย โ€œAllow USB debuggingโ€ย prompt.
If it still fails:
1. Revoke USB debugging authorizations in Developer options.
2. Runย adb kill-serverย thenย adb start-server.
3. Reconnect and accept the prompt again.
4. Confirm withย adb devicesย (it should showย device, notย unauthorized).

Can I use ADB wirelessly?

Yes. On Android 11+, use wireless debugging pairing:
1. Enableย Wireless debuggingย in Developer options.
2. Runย adb pair IP:PORTย and enter the pairing code.
3. Runย adb connect IP:PORT.
4. Verify withย adb devices.

What is the difference betweenย adb forwardย andย adb reverse?

adb forward: forwards traffic fromย computer (host) -> Android device.

adb reverse: forwards traffic fromย Android device -> computer (host).
adb reverseย is often used when a mobile app needs to talk to a dev server running on your computer.

Areย adb backupย andย adb restoreย still recommended?

No, not for modern Android development workflows. These are legacy commands and can be unreliable on newer Android versions/devices. Keep them in a legacy section, and prefer current backup/transfer methods provided by the OS, OEM tools, or app-specific backup options.

What doesย adb devicesย show?

It lists all the connected phones/emulators and their state (device,ย unauthorized,ย offline). Useย adb devices -lย for extra details like model and transport info.

What isย adb shellย used for?

adb shellย opens a command-line session on the phone/device so you can run Android system commands (for example withย pm,ย am,ย wm,ย dumpsys, andย input) for debugging and advanced control.

Haris Nadeem
Haris Nadeem

Haris lives on everything Android; has countless devices, apps and games to play with everyday. Currently serving as the Chief Editor at Team Android. Connect on Twitter: @harisn

Articles: 194

Leave a Reply

Your email address will not be published. Required fields are marked *