ADB执行不起作用



我正在尝试使用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的完整示例。

最新更新