SuperAPI AI 工具集

capturing-screenshots-and-screenrecord

通用与其它

查看项目

更新于 10-16 03:12

技能介绍

用途:通过 adb 从 Android 设备抓取可视化产物(PNG 截图、MP4 录屏),用于测试失败记录、黄金图生成、QA 复现与演示视频;文中还给出 JUnit4 TestWatcher 在测试失败时抓图的模式。

主要能力:screencap 支持 -p(输出 PNG)、-d <displayId>(多显示器)与 -h;不传 -p 会写出原始 RGBA 而非 PNG。screenrecord 支持 --size WxH、--bit-rate、--time-limit、--rotate、--bugreport、--verbose。

必要用法:

  • 设备上截图后拉取:adb shell screencap -p /sdcard/screen.png && adb pull /sdcard/screen.png ./screen.png
  • 二进制干净地流回主机:adb exec-out screencap -p > out.png
  • 停止录屏:adb shell pkill -INT screenrecord(不可 kill -9,否则 MP4 未完成、无法播放)

适用场景:CI 测试失败时抓取最后一帧与 logcat -d 日志;生成黄金截图做视觉回归;QA 录制最长 30 秒复现视频;--bugreport 叠加帧信息与时间戳,配合 adb logcat -v threadtime,year,UTC 对齐。

限制:screenrecord 需 API 19+,不支持 Wear OS;不录音频;--time-limit 默认且最大 180 秒,更长需串联或改用 scrcpy;录制中不支持旋转;无流式输出,实时镜像需用 scrcpy/Vysor。Windows 等主机上避免用 adb shell screencap -p > out.png,因其 PTY 会把 LF 转为 CRLF 导致二进制损坏。