在 Android 开发和调试中,adb shell
提供了多种方式来实现录屏和截屏操作。以下是详细的命令及其用法:
1. 使用 screencap
截屏
screencap
是一个用于截取设备屏幕的工具。
基本用法
adb shell screencap /sdcard/screenshot.png
上述命令会将截图保存到设备的 /sdcard/
目录下,文件名为 screenshot.png
。
将截图复制到电脑
要将截图从设备复制到电脑上,可以使用以下命令:
adb pull /sdcard/screenshot.png
直接保存到电脑
如果想一步完成截屏并保存到电脑,可以结合管道操作(适用于 Linux 和 macOS):
adb exec-out screencap -p > screenshot.png
这会将截图直接保存到当前目录下的 screenshot.png
文件中。
2. 使用 screenrecord
录屏
screenrecord
是一个用于录制设备屏幕的工具。
基本用法
adb shell screenrecord /sdcard/recording.mp4
上述命令会开始录制屏幕,并将录制的视频保存到设备的 /sdcard/
目录下,文件名为 recording.mp4
。
停止录制
默认情况下,录制会在 3 分钟后自动停止,或者你可以手动按 Ctrl + C
停止录制。
将视频复制到电脑
录制完成后,可以将视频从设备复制到电脑上:
adb pull /sdcard/recording.mp4
3. 调整录屏参数
screenrecord
提供了一些选项来调整录制行为:
(1) 设置最大录制时长
默认最大录制时长为 180 秒(3 分钟)。可以通过 --time-limit
参数设置更短的时长(单位为秒):
adb shell screenrecord --time-limit 60 /sdcard/recording.mp4
上述命令将录制限制为 60 秒。
(2) 设置比特率
使用 --bit-rate
参数设置视频的比特率(单位为比特每秒,默认值为 4 Mbps):
adb shell screenrecord --bit-rate 8000000 /sdcard/recording.mp4
上述命令将比特率设置为 8 Mbps,生成更高画质的视频。
(3) 设置分辨率
使用 --size
参数设置视频的分辨率(宽度 x 高度,单位为像素):
adb shell screenrecord --size 1280x720 /sdcard/recording.mp4
注意:分辨率必须是设备支持的分辨率。
(4) 不显示触摸点
默认情况下,录制的视频不会显示触摸点。如果需要显示触摸点,可以使用以下命令启用:
adb shell settings put system show_touches 1
然后开始录制。录制完成后,记得关闭触摸点显示:
adb shell settings put system show_touches 0
4. 注意事项
- 存储空间:确保设备有足够的存储空间来保存截图或录制的视频。
-
权限:某些设备可能需要额外的权限才能访问
/sdcard/
或其他存储路径。 -
音频录制:
screenrecord
默认不录制音频。如果需要录制音频,可以结合其他工具(如adb shell
的音频捕获功能)。 -
最低版本要求:
-
screencap
和screenrecord
都需要 Android 4.4(API 级别 19)及以上版本。
-
5. 完整示例
截屏示例
# 截图并保存到设备
adb shell screencap /sdcard/screenshot.png
# 将截图复制到电脑
adb pull /sdcard/screenshot.png
录屏示例
# 开始录制屏幕,最大时长 60 秒,比特率为 8 Mbps
adb shell screenrecord --time-limit 60 --bit-rate 8000000 /sdcard/recording.mp4
# 将录制的视频复制到电脑
adb pull /sdcard/recording.mp4
通过以上方法,你可以轻松使用 adb shell
实现 Android 设备的截屏和录屏操作!