shell adb command allows us to execute commands using a device's built-in shell. The
screencap shell command captures the content currently visible on a device and saves it into a given image file, e.g.
adb shell screencap /sdcard/screen.png
You can then use the pull command to download the file from the device into the current directory on you computer:
adb pull /sdcard/screen.png
Execute the following one-liner:
(Marshmallow and earlier):
adb shell screencap -p | perl -pe 's/\x0D\x0A/\x0A/g' > screen.png
(Nougat and later):
adb shell screencap -p > screen.png
-p flag redirects the output of the
screencap command to stdout. The Perl expression this is piped into cleans up some end-of-line issues on Marshmallow and earlier. The stream is then written to a file named
screen.png within the current directory. See this article and this article for more information.
this only work in KitKat and via ADB only. This not Working below Kitkat To start recording your device’s screen, run the following command:
adb shell screenrecord /sdcard/example.mp4, This command will start recording your device’s screen using the default settings and save the resulting video to a file at
/sdcard/example.mp4 file on your device.
When you’re done recording, press Ctrl+C (z in Linux) in the Command Prompt window to stop the screen recording. You can then find the screen recording file at the location you specified. Note that the screen recording is saved to your device’s internal storage, not to your computer.
The default settings are to use your device’s standard screen resolution, encode the video at a bitrate of 4Mbps, and set the maximum screen recording time to 180 seconds. For more information about the command-line options you can use, run the following command:
adb shell screenrecord –help, This works without rooting the device. Hope this helps.