安卓截屏命令screencap的灵活运用

一. 很多手机截屏十分麻烦, 比如 Lenovo Z90-7 需要同时按 电源键+音量(减)键 , 有的手机是同时按 电源键+home键 ... 五花八门. 用起来挺麻烦的, 但有一个例外就是一加3, 截屏手势是 三个手指同时下划 , 这个手势用起来还是挺方便的. 对于开发者来说, 除了这些手机内置支持的截屏, 我们还有很多其他的截屏方式, 下面就来介绍其中比较 程序员式 的一种吧~~

二. 使用screencap命令截屏

screencap命令的帮助信息如下:

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"