Shark android手机时有一个应用程序捕获屏幕。
1)当应用程序处于活动状态时,无需root即可捕获屏幕。
2)当应用程序返回堆栈时,如返回HOME,需要root权限才能捕获屏幕。
我想知道以root权限实现功能2)。
在我看来,root 权限意味着获得一个 root shell,刷新一些命令和 exec 。所以我很困惑如何在 shell 命令中捕获屏幕。
如果你有 root 甚至 shell 权限,你可以使用 screenshot 或 screencap 命令,供你参考:
root@android:/system/bin # screenshot -h
unknown option -- husage: screenshot [-s soundfile] filename.png
-s: play a sound effect to signal success
-i: autoincrement to avoid overwriting filename.png
root@android:/system/bin # screencap -h
usage: screencap [-hp] [-d display-id] [FILENAME]
-h: this message
-p: save the file as a png.
-d: specify the display id to capture, default 0.
If FILENAME ends with .png it will be saved as a png.
If FILENAME is not given, the results will be printed to stdout.
如果您的设备本机没有这些程序,您可以自己编写一个。源代码在这里:https ://android.googlesource.com/platform/frameworks/base/+/master/cmds/screencap/screencap.cpp