提高Android设备命令行截图的效率
目前市面兼顾了易用性和兼容性的截图工具,最好用的当属screencap
(支持android 4.0+,无需root)了。基本用法如下:
1 | usage: screencap [-hp] [-d display-id] [FILENAME] |
所以一般用法是:
1 | adb shell screencap -p /sdcard/xxx.png |
其实还有第二种用法:adb shell screencap -p | sed 's/\r$//' > screen.png
。但是又涉及到sed命令,Windows不支持、手机里可能被阉割,所以通用性不强。
现在发现有个adb exec-out
命令可以简化这一过程:
1 | adb exec-out screencap -p > xxx.png |
解释:
“adb exec-out” gives binary output.(“adb exec-out”提供二进制数据。)这样比前面的方案,少了一轮读写文件,效率自然高一些。
但是,还是有一些需要注意的地方:
- macOS(bash)下测试正常,在Windows的powershell下失效(图片文件打不开),但cmd下正常。所以win下面可以写成批处理(.bat文件),然后鼠标双击运行。
- 不能调整文件格式。虽然可以修改
xxx.png
为xxx.jpg
,但这只是一种掩耳盗铃的手段。使用16进制编辑器查看该文件头,其实还是png。