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
adbcommand. - 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

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
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.
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.




