安卓截屏命令screencap的灵活运用
一. 很多手机截屏十分麻烦, 比如Lenovo Z90-7
需要同时按电源键+音量(减)键
, 有的手机是同时按电源键+home键
... 五花八门. 用起来挺麻烦的, 但有一个例外就是一加3, 截屏手势是三个手指同时下划
, 这个手势用起来还是挺方便的. 对于开发者来说, 除了这些手机内置支持的截屏, 我们还有很多其他的截屏方式, 下面就来介绍其中比较程序员式
的一种吧~~
二. 使用screencap命令截屏
-
screencap命令的帮助信息如下:
screencap命令的帮助信息.png -
这个命令就在你的手机上, 因此首先你必须进入到你手机的shell环境里:
a. 用数据线连上你的手机
b. 在命令行中执行命令,adb shell
进入到手机的shell环境
c. 然执行命令screencap -p /sdcard/screen.png
截屏 (-p指定输出文件的路径, 如果不用-p指定输出文件, 则默认输出到stdout中, 即命令行中)
tips: 可以简化上述步骤, 直接在命令行中执行命令adb shell screencap -p /sdcard/screen.png
来截图, 此命令会在SD卡根路径下生成一张screen.png截屏图片 -
那么如何快捷的把截取的图片传到电脑上呢?
a. 使用adb pull {src-file-path} {target-directory-path}
命令来把手机上的文件传递到电脑上, 完整命令如下:
adb pull /sdcard/screen.png ~/works/temp/
如果要输出到命令行环境的当前目录下, 可以省略后面的输出路径, 完整命令为:
adb pull /sdcard/screen.png
b. 如果要在图片传输到电脑后删除掉手机上的文件, 可以使用下面的命令来搞定:
adb shell rm /sdcard/screen.png
三. 简化截屏命令screencap
- 上面的步骤连起来如下:
a.adb shell screencap -p /sdcard/screen.png
//截屏
b.adb pull /sdcard/screen.png
//将截取的图片传送到电脑上
c.adb shell rm /sdcard/screen.png
//删除手机上的截屏图片 - 如果每次都用这些命令来截图, 那么谁用起来都烦. 有什么方法可以把这些步骤简化一下么? 当然是有的, 我们可以使用
alias
命令来为上述的那些命令取个别名. 如下:
a.alias jp="adb shell screencap /sdcard/screen.png && adb pull /sdcard/screen.png && adb shell rm /sdcard/screen.png"
b. 这样, 要截屏的时候直接在命令行运行jp
命令就可以啦!!
tips: 在命令行中执行alias命令, 别名只在当前命令行环境中有效, 如果重新开个命令行窗口, 别名就无效了. 如果想要在所有命令行环境中都有效(甚至是重启), 那么你最好将上面"a"步骤中的命令配置到环境变量文件中(~/.bash_profile
文件); 如果你不想用某个别名了, 你也可以用unalias将其取消掉, 如:unalias jp
, 将上面设置的jp命令取消掉
本文所述只针对Mac OSX
, 其他系统如有不同请做相应变通