返回

巧用别名和 sh 脚本,让 adb 截图和录屏更便捷

Android


前言

在日常开发过程中,我们经常需要对设备进行截图和录制视频,尤其是客户端开发和测试。传统的做法可能是:

  • 使用第三方工具,在电脑上通过模拟器进行截图和录屏
  • 直接在手机上进行操作

这些方法都存在一定的不便。本文将介绍如何巧用别名和 sh 脚本,让 adb 截图和录屏操作更加便捷高效。

为了方便快捷地使用 adb 命令,我们可以为常用命令配置别名。例如,我们可以为以下命令配置别名:

  • adb shell screencap: 保存屏幕截图为 /sdcard/screen.png
  • adb shell screenrecord: 开始屏幕录制,保存视频为 /sdcard/screen.mp4
  • adb pull /sdcard/screen.png /local/path: 复制屏幕截图到本地路径
  • adb pull /sdcard/screen.mp4 /local/path: 复制屏幕录制视频到本地路径

在终端中执行以下命令即可配置别名:

# 保存屏幕截图
alias sc='adb shell screencap -p /sdcard/screen.png'

# 开始屏幕录制
alias sr='adb shell screenrecord --time-limit 60 /sdcard/screen.mp4'

# 复制屏幕截图到本地路径
alias scp='adb pull /sdcard/screen.png $1'

# 复制屏幕录制视频到本地路径
alias svp='adb pull /sdcard/screen.mp4 $1'

配置别名后,我们可以直接使用别名来执行相应的命令。例如,要保存屏幕截图,我们可以直接运行 sc 命令,而不用输入完整的 adb 命令。

除了配置别名,我们还可以编写 sh 脚本来自动化截图和录屏任务。例如,我们可以编写一个脚本,自动将屏幕截图和录屏视频复制到本地路径。脚本内容如下:

#!/bin/sh

# 保存屏幕截图
adb shell screencap -p /sdcard/screen.png
adb pull /sdcard/screen.png /local/path

# 开始屏幕录制
adb shell screenrecord --time-limit 60 /sdcard/screen.mp4
adb pull /sdcard/screen.mp4 /local/path

将脚本保存为 screenshot.sh,并赋予执行权限:

chmod +x screenshot.sh

现在,我们可以通过运行脚本来自动完成截图和录屏任务:

./screenshot.sh

这些技巧在实际开发中非常有用,可以极大地提高我们的效率。以下是一些实际应用场景:

  • 快速截图: 在调试过程中,我们可以使用 sc 命令快速保存屏幕截图,用于记录当前状态或问题。
  • 录制屏幕操作: 在录制演示视频或 bug 复现视频时,我们可以使用 sr 命令开始屏幕录制。录制完成后,使用 svp 命令将视频复制到本地路径。
  • 自动化测试: 在自动化测试中,我们可以使用 sh 脚本来批量执行截图和录屏任务,用于收集测试结果或问题复现。

通过巧妙利用别名和 sh 脚本,我们可以让 adb 截图和录屏操作更加便捷高效。这些技巧不仅适用于客户端开发,在其他领域也可以发挥作用。希望本文对大家有所帮助。