Android中screencap截屏和screenrecord录屏

在 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. 注意事项

  1. 存储空间:确保设备有足够的存储空间来保存截图或录制的视频。
  2. 权限:某些设备可能需要额外的权限才能访问 /sdcard/ 或其他存储路径。
  3. 音频录制screenrecord 默认不录制音频。如果需要录制音频,可以结合其他工具(如 adb shell 的音频捕获功能)。
  4. 最低版本要求
    • screencapscreenrecord 都需要 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 设备的截屏和录屏操作!

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容