Adb Commands
Adb Commands
Adb Commands
Based on:
https://developer.android.com/studio/command-line/shell.html
============================================
Intro
============================================
The Android Debug Bridge (adb) provides a Unix shell that you can use to
run a variety of commands on an emulator or connected device. The command
binaries are stored in the file system of the emulator or device, at
/system/bin/...
Issuing Shell Commands
You can use the shell command to issue commands, with or without entering
the adb remote shell on the emulator/device. To issue a single command
without entering a remote shell, use the shell command like this:
When you are ready to exit the remote shell, press CTRL+D or type exit.
Using activity manager (am)
Within an adb shell, you can issue commands with the activity manager
(am) tool to perform various system actions, such as start an activity,
force-stop a process, broadcast an intent, modify the device screen
properties, and more. While in a shell, the syntax is:
am <command>
You can also issue an activity manager command directly from adb without
entering a remote shell. For example:
For a list of all the available shell programs, use the following
command:
============================================
Available activity manager commands
============================================
Command Description
start [options] <INTENT> Start an Activity specified by <INTENT>.
Options are:
Options are:
Options are:
Options are:
Options are:
Options are:
Options are:
clear-debug-app Clear the package previous set for debugging with set-
debug-app.
monitor [options] Start monitoring for crashes or ANRs.
Options are:
Example:
am display-size 1280x800
display-density <dpi> Override emulator/device display density. This
command is helpful for testing your app across different screen densities
on high-density screen environment using a low density screen, and vice
versa.
Example:
am display-density 480
to-uri <INTENT> Print the given intent specification as a URI.
Within an adb shell, you can issue commands with the package manager (pm)
tool to perform actions and queries on application packages installed on
the device. While in a shell, the syntax is:
pm <command>
You can also issue a package manager command directly from adb without
entering a remote shell. For example:
============================================
Available package manager commands
============================================
Command Description
list packages [options] <FILTER> Prints all packages, optionally only
those whose package name contains the text in <FILTER>.
Options:
Options:
Options:
Options:
Options:
-k: Keep the data and cache directories around after package removal.
Options:
Note: This is only intended for debugging; using this can cause
applications to break and other undesireable behavior.
get-install-location Returns the current install location. Return
values:
============================================
The screen cap command
============================================
The screencap command is a shell utility for taking a screenshot of a
device display. While in a shell, the syntax is:
screencap <filename>
To use the screencap from the command line, type the following:
Here's an example screenshot session, using the adb shell to capture the
screenshot and the pull command to download the file from the device:
$ adb shell
shell@ $ screencap /sdcard/screen.png
shell@ $ exit
$ adb pull /sdcard/screen.png
============================================
Recording a device screen
============================================
The screenrecord command is a shell utility for recording the display of
devices running Android 4.4 (API level 19) and higher. The utility
records screen activity to an MPEG-4 file.
$ adb shell
shell@ $ screenrecord --verbose /sdcard/demo.mp4
(press Ctrl-C to stop)
shell@ $ exit
$ adb pull /sdcard/demo.mp4
The screenrecord utility can record at any supported resolution and bit
rate you request, while retaining the aspect ratio of the device display.
The utility records at the native display resolution and orientation by
default, with a maximum length of three minutes.
There are some known limitations of the screenrecord utility that you
should be aware of when using it:
screenrecord options
Options Description
--help Displays command syntax and options
--size <WIDTHxHEIGHT> Sets the video size: 1280x720. The default value
is the device's native display resolution (if supported), 1280x720 if
not. For best results, use a size supported by your device's Advanced
Video Coding (AVC) encoder.
--bit-rate <RATE> Sets the video bit rate for the video, in megabits
per second. The default value is 4Mbps. You can increase the bit rate to
improve video quality, but doing so results in larger movie files. The
following example sets the recording bit rate to 6Mbps:
============================================
Some other adb shell commands
============================================
Shell Command Description Comments
dumpsys Dumps system data to the screen. The Dalvik Debug Monitor
Server (DDMS) tool offers an integrated debug environment that you may
find easier to use.
dumpstate Dumps state to a file.
logcat [option]... [filter-spec]... Enables system and app logging
and prints output to the screen.
dmesg Prints kernel debugging messages to the screen.
start Starts (restarts) an emulator/device instance.
stop Stops execution of an emulator/device instance.