如何通过 ADB for Android Things 截屏?我试过了:
adb shell screencap -p /sdcard/screen.png
adb pull /sdcard/screen.png
adb shell rm /sdcard/screen.png
和
adb shell screencap -p | perl -pe 's/\x0D\x0A/\x0A/g' > screen.png
我无法使
screepcap
在 Android Things Developer Preview 中工作。该命令会生成 0 大小的文件。
也就是说,我推荐以下两个选项:使用帧缓冲区或录制视频(
screenrecord
似乎有效),然后通过适当的工具将其转换为图像。我会考虑第一个选项,所以步骤是:
将帧缓冲区拉到主机。请注意,您需要以 root 身份启动
adbd
才能通过权限检查:
adb root
adb pull /dev/graphics/fb0 screenshot
使用您喜欢的工具将原始二进制文件转换为图像。我正在使用 ffmpeg。由于屏幕分辨率或像素格式不同,以下命令可能不适用于您。如果是这样,请进行适当的更改。
ffmpeg -f rawvideo -pix_fmt rgb565 -s 800x480 -i screenshot screenshot.png
Tatsuhiko Arai here 描述,无法通过 ADB 获取屏幕截图,但您可以录制视频(例如从 Android Studio 或通过 ADB 命令)然后从中抓取框架,例如通过 ffmpeg
:
ffmpeg -i device-2017-01-23-193539.mp4 -r 1 screen-%04d.png
其中
device-2017-01-23-193539.mp4
- 录制的文件名称(通过 Android Studio)。
adb shell screencap -p /sdcard/screen.png
adb pull /sdcard/screen.png screen.png
adb shell rm /sdcard/screen.png