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

ops/2024/10/22 18:42:16/

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 offcolor 02:: 保证手机非锁屏状态,锁屏状态录制不成功文件大小为0kb:: 录制10s,可以手动修改set recordtime=30echo start screenrecord %recordtime% sset 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% --bugreportecho copy  screenrecord %filename%.mp4adb pull sdcard/Pictures/Screenshots/%filename%.mp4echo remove  screenrecord %filename%.mp4adb shell rm sdcard/Pictures/Screenshots/%filename%.mp4echo screenrecord successpause
  • 对录屏脚本进行升级,支持设置录制时长
:: 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
)

http://www.ppmy.cn/ops/47954.html

相关文章

linux中xterm窗口怎么调整字体大小

需求:打开的xterm窗口字体比较小,怎么才能调整字体大小,打开的大写: 解决方法: 在home目录下搞一个设置文件 .Xresource,里面内容如下 然后把设置文件添加到 .tcshrc 文件中生效 这样重新打开的xterm字…

非GIS专业,真的不适合WebGIS开发吗?

到底是哪些人在新中地特训营学GIS开发? 很多同学对GIS开发的认知还停留在GIS专业的学生才能学GIS开发,然而,在新中地教育,非GIS专业的学生几乎占一半。 除了GIS专业,还有测绘、遥感等跟GIS差别不大的专业学生选择来学…

Vitis HLS 学习笔记--MAXI位宽拓展

目录 1. 简介 2. 用法解析 2.1 命令语法 2.2 实例展示 3. 注意事项 4. 总结 1. 简介 在 Vitis 工具流程中,Vitis HLS 能够自动将 m_axi 接口端口的大小调整为 512 位,以改善突发访问能力。但是,端口宽度自动调整仅支持标准 C 语言数据…

台灯护眼是真的吗?分享学习必备的护眼台灯

6月6日的全国爱眼日刚刚过去,今年是全国爱眼日第32年了,每一年的爱眼日都在提醒我们要关注眼部健康,提醒我们眼睛视力保护的重要性。不良的用眼习惯会导致近视,严重的甚至会引发眼部疾病,中国现有约500万盲人&#xff…

Web前端的规划:深度解构与未来展望

Web前端的规划:深度解构与未来展望 在数字化浪潮汹涌的时代,Web前端作为用户与互联网世界的桥梁,其重要性不言而喻。对于前端开发者而言,一份精心规划的Web前端策略,不仅是项目成功的基石,更是技术进步的引…

力扣46 全排列 引发对JAVA对象引用的思考

先简单说一下本题思路: 数据结构:栈 算法:递归 使用深度遍历,得到全排列。要使用一个标记数组来标记某个数在本次递归中是否被使用,然后在下次递归前要取消标记。 class Solution {private int[] flag;private List&l…

降低Redis内存使用和提升性能的一些方案

前言 一、前言 Redis在现在开发中已经成为了一个不可或缺的组件,很多项目都会依赖Redis进行开发,当数据量和请求量以及Redis本身访问率不高的情况下,Redis不会成为性能瓶颈,但是如果本身处于高并发海量数据这些情况下&#xff0…

第一百零二节 Java面向对象设计 - Java静态内部类

Java面向对象设计 - Java静态内部类 静态成员类不是内部类 在另一个类的主体中定义的成员类可以声明为静态。 例子 以下代码声明了顶级类A和静态成员类B: class A {// Static member classpublic static class B {// Body for class B goes here} }注意 静态成…