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

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

二. 使用screencap命令截屏

  1. screencap命令的帮助信息如下:


    安卓截屏命令screencap的灵活运用_第1张图片
    screencap命令的帮助信息.png
  2. 这个命令就在你的手机上, 因此首先你必须进入到你手机的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截屏图片

  3. 那么如何快捷的把截取的图片传到电脑上呢?
    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

  1. 上面的步骤连起来如下:
    a. adb shell screencap -p /sdcard/screen.png //截屏
    b. adb pull /sdcard/screen.png //将截取的图片传送到电脑上
    c. adb shell rm /sdcard/screen.png //删除手机上的截屏图片
  2. 如果每次都用这些命令来截图, 那么谁用起来都烦. 有什么方法可以把这些步骤简化一下么? 当然是有的, 我们可以使用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, 其他系统如有不同请做相应变通

你可能感兴趣的:(安卓截屏命令screencap的灵活运用)