- ADB Shell Commands List and Detailed Cheat Sheet
- What is ADB Shell?
- ADB Shell Commands List & Cheat Sheet
- adb shell
- adb shell pm uninstall
- adb shell cmd package install-existing
- adb shell pm disable- user — user 0
- adb shell pm clear –user 0
- adb shell pm hide –user 0
- adb shell pm list packages
- adb shell pm path
- adb shell pm create-user
- adb shell pm remove-user
- adb shell pm get-max-users
- adb shell pm list features
- adb shell pm list permissions
- adb shell settings
- adb shell dumpsys
- adb shell wm density
- adb shell dumpsys window displays
- adb shell wm size
- ADB Shell command to Send SMS screen
- adb shell screencap
- adb shell screenrecord
- adb shell getprop & adb shell setprop
- adb -s shell getprop
- adb shell cat /proc/cpuinfo
- Get an Android device properties
- adb shell cd
- adb shell rm
- adb shell mkdir
- adb shell cp
- adb shell mv
- adb shell top
- adb shell ip
- adb shell netstat
- ADB Shell KeyEvent commands
- How to use ADB to grant permissions
ADB Shell Commands List and Detailed Cheat Sheet
ADB or Android Debug Bridge is a command-line tool developed to facilitate communication between a computer and a connected emulator or Android device. Using ADB and ADB Shell commands, we can perform various actions on a device. In order that you can execute ADB and Fastboot commands, the Android SDK Platform-tools package must be installed on your Windows, Linux, or macOS computer. In this article, we’ll explore a huge list of ADB Shell commands list with a cheat sheet.
Don’t forget to check out the detailed list of ADB commands explaining the function of each of them.
What is ADB Shell?
ADB commands can be used to debug Android devices, installing or uninstalling apps, and getting information about a connected device. ADB works with the aid of three components called Client, Daemon, and Server. If you are curious about how these 3 components work together to make ADB and ADB shell commands functions, see below:
- Client: It’s is very computer on which you use a command-line terminal to issue an ADB command. which sends commands.
- Daemon: Or, ADBD is a background process that runs on both the connected devices. It’s responsible for running commands on a connected emulator or Android device.
- Server: It runs in the background and works as a bridge between the Client and the Daemon and manages the communication. which manages communication between the client and the daemon.
ADB Shell commands provide access to a Unix Shell that runs a command directly on your Android device. As soon as you execute an ‘adb shell’ command on the command terminal, it sends a signal to your Android device and triggers the remote shell command console. Thus ADB shell commands let you control your Android device.
Using ADB commands, you can reboot your device, push and pull files, create a backup and restore it, sideload an update zip package, or an APK. ADB Shell commands, however, work on a much deeper level. They can be used to change the resolution of your device display, uninstall bloatware or system apps, enable and disable features, modify the system files, and change their configuration directly using commands from your computer.
Actually, there are more tasks you can perform using these commands, and below we’ll check them all with examples. Please note that there are three prerequisites before you can make use of ADB, Fastboot, and ADB shell commands.
Now you can use Web ADB in a web browser window to run ADB commands on an Android device or computer without installing ADB and Fastboot tools and USB drivers.
Finally, without any further ado, let’s proceed with our list of ADB Shell commands.
Warning: Don’t use the commands mentioned on this page unless you know how to use them and have some prior knowledge or experience.
ADB Shell Commands List & Cheat Sheet
In this ADB shell commands cheat sheet, I’ll try to explain the function of all commands in simple language.
adb shell
This command activates the remote shell command console on the connected Android smartphone or tablet.
adb shell pm uninstall
This is really a very useful ADB Shell command. Using this, you can easily uninstall the unwanted system apps. To be able to execute it, you must issue ‘adb shell‘ command first. You can then use pm uninstall -k —user 0 or pm uninstall —user 0 followed by the Android app package name as shown below.
-k : Keep the app data and cache after package removal. If you want the app data to be cleared as well, use the following
If you don’t know the app package name for the apps you want to remove, you can use adb shell pm list packages to find it.
This command can help you if you want to remove all bloatware from your Android phone. Please note that most system apps don’t have the ‘Uninstall‘ option on the device but this command works magically.
adb shell cmd package install-existing
Using the above command, you can re-install an uninstalled system app.
adb shell pm disable- user — user 0
If you want to disable a system app on your Android device, you can execute the above command followed by the app package name
adb shell pm clear –user 0
Using this command, you can delete all data associated with an app.
adb shell pm clear –user 0 com.facebook.appmanager
adb shell pm hide –user 0
In case you want to hide an installed app on your Android device, you can execute this command line followed by the app package name.
adb shell pm list packages
Using the above ADB Shell command, you can print the list of the app package names for all apps installed on your Android device. You can use this command with different parameters to get a more specific list of app packages.
For instance, if you want to list the system apps only, use
In order to list all third-party apps installed on your Android phone or tablet, you issue the following command.
Do you want ADB Shell to show the list of all enabled or disabled apps on your device, try the command with parameters like ‘-d‘ (for disabled apps), ‘-e‘ (for enabled apps), and ‘-u‘ (for uninstalled apps).
To list app packages with specific keywords filter.
To find the list of apps along with their associated packages, execute the following command
You can easily get a list of group packages by a certain manufacturer, or come common term. For instance, if you want to list all apps by Google, you can use the following command.
You can replace “google” with “samsung”, “huawei”, “xiaomi”, “miui”, “evenwell”, “android”, “facebook”, etc. to get desired list of packages.
adb shell pm path
This command displays the APK path on the device’s file system.
adb shell pm create-user
You can use this command to create a new user on your Android device.
adb shell pm remove-user
Just in case you want to remove a user from your device, you can use the above command with followed by the user_id as shown below.
adb shell pm get-max-users
By using this command, you can print the maximum number of users supported on an Android device.
adb shell pm list features
Use the above command to print all supported features of the system.
adb shell pm list permissions
This command prints the list of all known permissions, optionally only those in group . You can use it with the following parameters.
- -g : Organize permissions by group
- -f : Print all information
- -s : Short summary of permissions
- -d : List dangerous permissions only
- -u : List the permissions seen by users only
adb shell settings
You can use this command to get information about certain settings on your Android device. By adding different parameters, you can find out the Android settings provider, current system volume level, notification sound, device ID, Bluetooth MAC address, current mobile data status, current WiFi status, etc.
adb shell dumpsys
It’s a very flexible command that can be used standalone or with various parameters to get data related to battery, display, CPU, RAM, storage, etc. The execution of this command will give you detailed information about the Android device’s software and hardware configuration.
Note: In order to use this tool don’t forget to add permission into your Android manifest automatically android.permission.DUMP
Other variations of the command are as follows:
Executing the ‘adb shell dumpsys cpuinfo‘ command, for instance, will print a list of CPU usage by the running processes and apps on your Android device as shown below:
adb shell wm density
The above command can be used to find out the pixel density of your Android device’s display.
adb shell dumpsys window displays
You’ll get a very detailed output on the command window with info like pixel resolution, FPS, and DPI of your phone’s display.
adb shell wm size
You can find out the display resolution of your phone with this command.
If you want to modify the screen resolution and the pixel density of your Android’s display. If you’re not sure about your device’s display resolution, execute the command given below. Suppose your phone’s display resolution is QHD+, you can easily change it to Full HD+ or HD+.
ADB Shell command to Send SMS screen
If you want to send a text message using a command, try the following code.
adb shell screencap
By using this command, you can capture a screenshot and download it to your computer using the ‘adb pull’ command as described above.
adb shell screenrecord
On Android devices running Android 4.4 KitKat and above, you can even record your phone or tablet’s screen and download the recorded video to your computer. Besides, you can also set conditions like video duration, resolution in pixels and video bitrate, etc.
You can stop screen recording using Ctrl+C. In case you want to record the screen in a specific resolution, the following command lets you set custom width and height in pixels.
By default, Android’s screen recorder’s duration is set to 180 seconds (3 minutes). You can decrease this time limit according to your needs (180 seconds is the maximum limit).
Similarly, you can also determine the bitrate of the video output. To set the bitrate to 4MBPS, for example, you can use the following value:
adb shell getprop & adb shell setprop
The ‘getprop‘ and ‘setprop‘ commands can be used to view and set or change the configuration of the ‘build.prop’ file on Android devices. The following command, for example, displays the Android system properties information.
Below are some more examples:
In case you want to change the value of an entry in the build.prop, you can use the ‘adb shell setprop‘ commands. See the examples below:
In the same way, if you want to change the configuration of the VMHeap size on your Android device, you can use the following command.
There are some more variations of the ‘adb shell getprop‘ command that let you see information about Android system properties, SDK API level, Android security patch version, Soc, Android version, device model, device manufacturer, ADB serial number, OEM unlock status, Android device build fingerprint, WiFi MAC address, etc.
adb -s shell getprop
If you want to check the full configuration, running services and information about your Android phone or tablet, you can use the above command. First off, run the adb devices command and copy the alpha-numeric value of your device ID from the output.
Then execute the following command. Don’t forget to replace the device ID highlighted in blue with the ID of your device.
adb shell cat /proc/cpuinfo
Use the above command to get complete information about the CPU on your phone or tablet.
Get an Android device properties
By running the following command, you can see the system properties.
adb shell cd
Change ADB shell directory using ‘cd ‘
Then execute the following command:
adb shell rm
This command lets you easily delete a file or folder from your Android device’s storage. Launch the command window, execute the ‘adb shell’ command and then try the following command with ‘-f‘ (to delete a file) and ‘-d‘ (to remove a directory) parameters.
Note: Instead of ‘rm-d‘, you can also use ‘rmdir‘.
adb shell mkdir
Besides deleting an existing directory or folder, ADB Shell also lets you create a new directory or sub-directory. Not just that, you can set permissions for the newly created folder.
adb shell cp
‘cp‘ stands for ‘copy’. You can use this command to copy files and directories located on your Android device. Again, you need to start with the ‘adb shell‘ command first.
To copy files and then paste them, by mentioning the source and destination locations as shown below:
adb shell mv
‘mv‘ stands for ‘move’. This command can be used to move a file stored on your device from a source location to a destination location.
The following command will allow you to move a file with a new name.
adb shell top
To display the list of top CPU processes on an Android phone or tablet, you can use the above command. CPU processes monitor can be stopped using Ctrl+C.
adb shell ip
Find out the WiFi IP address of the of an Android phone or tablet.
adb shell netstat
Displays the network statistics of Android phones.
ADB Shell KeyEvent commands
Android devices support KeyEvent commands that can let you perform certain actions that require you to press a hardware button or tap an app or UI option. You can control your Android phone or tablet device simply by using these KeyEvent commands. These commands might come in handy if the hardware keys on your device are not functioning properly due to some damage.
You can learn more about KeyEvent commands on the Google developers portal.
Finally, it’s time to wrap up the ADB shell commands cheat sheet. In case you need this ADB shell commands list directory for future reference, you can download this PDF file.
Источник
How to use ADB to grant permissions
Clone this wiki locally
You must have developer options and USB debugging enabled on the device.
Download the official package for your OS from the Android Developer Web site.
Extract the downloaded zip package.
Follow the steps for your OS:
Open a terminal session and follow 3 steps:
Check if the device is connected
If adb is not in your PATH, you should cd to the extracted folder.
Enter this command in a terminal session:
This is how the output should look like:
Grant WRITE_SECURE_SETTINGS permission
Enter this command in a terminal session:
This is how the output should look like:
Grant DUMP permission
Enter this command in a terminal session:
Check for granted permissions
Enter this command in a terminal session:
If you see android.permission.WRITE_SECURE_SETTINGS: granted=true and/or android.permission.DUMP: granted=true in the install permissions list, you are done.
Screenshots taken on a virtualbox with Windows 10.
Use the file manager to navigate to the folder where the zip package has been downloaded.
Extract the zip package.
Enter the folder of the extracted package.
Open PowerShell window here. You can use SHIFT+right click. Or you can search the internet if you like to read more about it.
This is the PowerShell window.
Enter the following command and hit ENTER:
Enter the following command and hit ENTER:
.\adb shell pm grant com.rascarlo.quick.settings.tiles android.permission.WRITE_SECURE_SETTINGS
To grant DUMP permission, enter the following command and hit ENTER:
.\adb shell pm grant com.rascarlo.quick.settings.tiles android.permission.DUMP
Official SDK Platform Tools is available for Windows, Mac and Linux here
WRITE_SECURE_SETTINGS permission documentation is available here
Android Device Bridge (adb) documentation is available here
Источник