adb 脚本化Android系统截图和录屏

1、首先我们了解截图和录屏最基础的命令

  • 手机录屏

    adb shell screenrecord sdcard/Pictures/Screenshots/Record_xxx.mp4

  • 导出手机录屏

    adb pull sdcard/Pictures/Screenshots/Record_xxx.mp4

  • 手机截屏

    adb shell screencap /sdcard/Screenshots_xxx.png

  • 导出手机截屏

    adb pull sdcard/Pictures/Screenshots/Screenshots_xxx.png

2、实际开发中我们为了提高工作效率,采用脚本

  • 录屏脚本 screenrecord.bat,root环境下调试使用

    复制代码
    :: ITplus
    :: V 1.0.0
    @echo off
    color 02
    :: 保证手机非锁屏状态,锁屏状态录制不成功文件大小为0kb
    :: 录制10s,可以手动修改
    set recordtime=30
    echo start screenrecord %recordtime% s
    set filename=screenrecord%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%
    adb shell screenrecord sdcard/Pictures/Screenshots/%filename%.mp4 --time-limit %recordtime% --bugreport
    echo copy  screenrecord %filename%.mp4
    adb pull sdcard/Pictures/Screenshots/%filename%.mp4
    echo remove  screenrecord %filename%.mp4
    adb shell rm sdcard/Pictures/Screenshots/%filename%.mp4
    echo screenrecord success
    pause
  • 对录屏脚本进行升级,支持设置录制时长

    :: ITplus
    :: V 2.0.0
    @echo off
    color 02
    :: 保证手机非锁屏状态,锁屏状态录制不成功文件大小为0kb
    :: 录制10s,可以手动修改
    chcp 65001
    cls
    echo ######################请选择要执行的操作######################
    echo ---------------------1、输入录屏时长,以秒为单位-------------
    echo ---------------------最少10s,少于10秒录制不成功-------------
    echo ##############################################################
    :reinput
    set /p recordtime= 请输入:

    if %recordtime% LSS 10 (
    echo 最少10秒,少于10秒录制不成功
    goto reinput
    )

    if %recordtime% GTR 600 (
    echo 最多录制10分钟
    goto reinput
    )

    chcp 936
    cls
    echo start screenrecord %recordtime% s
    set filename=screenrecord%date:0,4%%date:5,2%%date:8,2%%time:0,2%%time:3,2%%time:6,2%
    adb shell screenrecord sdcard/Pictures/Screenshots/%filename%.mp4 --time-limit %recordtime% --bugreport
    echo copy screenrecord %filename%.mp4
    adb pull sdcard/Pictures/Screenshots/%filename%.mp4
    echo remove screenrecord %filename%.mp4
    adb shell rm sdcard/Pictures/Screenshots/%filename%.mp4
    echo screenrecord success
    pause

  • 截图脚本 Screenshots.bat

    :: ITplus
    :: V 1.0.0
    echo off
    color 02
    set filename=Screenshots%date:0,4%%date:5,2%%date:8,2%%time:0,2%%time:3,2%%time:6,2%
    echo start screencap
    adb shell screencap /sdcard/%filename%.png
    echo copy screencap %filename%.png
    adb pull /sdcard/%filename%.png
    echo remove screencap %filename%.png
    adb shell rm /sdcard/%filename%.png
    echo screencap success
    pause

  • 对截图脚本进行升级,支持连续截图

    :: ITplus
    :: V 2.0.0
    echo off
    color 02

    :again
    chcp 936
    cls
    :: 开始截图
    set filename=Screenshots%date:0,4%%date:5,2%%date:8,2%%time:0,2%%time:3,2%%time:6,2%
    echo start screencap
    adb shell screencap /sdcard/%filename%.png
    echo copy screencap %filename%.png
    adb pull /sdcard/%filename%.png
    echo remove screencap %filename%.png
    adb shell rm /sdcard/%filename%.png
    echo screencap success
    :: 完成截图

    chcp 65001
    cls
    echo ######################请选择要执行的操作######################
    echo ---------------------1、输入1继续截图-----------------------
    echo ---------------------2、输入其他退出 -----------------------
    echo ##############################################################

    set /p a= 请输入:

    if "%a%" == "1" (
    goto again
    )

相关推荐
Caspian Wren13 分钟前
通过Canal、Canal adapter将MySQL数据同步到ES
mysql·elasticsearch·adb
iNgs IMAC30 分钟前
MySQL无法连接到本地localhost的解决办法2024.11.8
数据库·mysql·adb
geBR OTTE1 小时前
mysql重置root密码(适用于5.7和8.0)
数据库·mysql·adb
a34funny1 小时前
Python高级之操作Mysql
python·mysql·adb
赛恩斯1 天前
adb 的源代码分析,以及如何改造为外网远程连接的方式
数据库·adb
.柒宇.1 天前
MySQL的MGR高可用
数据库·mysql·adb
User_芊芊君子1 天前
0 基础学 MySQL !核心知识点梳理,搞定库表操作与 CRUD
数据库·mysql·adb
九皇叔叔2 天前
MySQL8.0 版本安装部署
android·adb
蓝眸少年CY3 天前
MaxWell 高级教程
adb
seabirdssss4 天前
Flutter 开发环境配置
android·windows·flutter·adb