我正在尝试使用ADB命令捕获我的Android Emulator屏幕,但是当我执行命令时,什么都不会发生,没有错误,没有图像,这是我正在运行的命令:
ADB执行屏幕截图-p/sdcard/pictures/test.png
我尝试使用" ADB Shell ....",但对我来说太慢了。
我是否需要一些东西来运行"执行"?还是我做错了什么?
您仅需要一行:
adb exec-out screencap -p > [path]
示例:
adb exec-out screencap -p > d:screenshot.png
" adb exec-out"给出二进制输出。
您可以使用以下命令保存屏幕
adb shell screencap -p /sdcard/screencap.png
adb pull /sdcard/screencap.png C:\Users\<username>\Pictures\screencap.png
更多信息:
从ADB Shell读取二进制stdout数据?
adb exec-out screencap
是一种以位图格式生成屏幕截图的安全方法。
您可以使用管道读取该原始数据。前4个字节标志着宽度的小通用整数。接下来的4个字节是高度。接下来的4个字节表示图像格式。以下字节是RGBA8888等图像的原始数据。
注意:请勿使用adb shell screencap
的原始数据。外壳将插入一些线路断裂,以便数据破裂。
参考:
如果您发现adb exec-out screencap
对您的情况太慢或有问题,则可以尝试更快的culebratester2-public。
您甚至可以使用curl
或任何其他HTTP客户端进行屏幕截图
curl -sf -H 'accept: image/png' -H 'Content-Type: application/json' -X GET 'http://localhost:9987/v2/uiDevice/screenshot' > img.png
请参阅take-screenshot的完整示例。