adb详细教程(五)-复制文件、截屏、录屏

  • adb对于安卓移动端来说,是个非常重要的调试工具。
  • 在进行安卓端的开发或测试过程中,有时需要了截屏或录屏,在设备上操作完成后再将文件导入电脑非常繁琐。
  • ​如果使用adb指令在进行截屏或录屏则会便捷许多。
  • 此篇文章介绍了如何使用adb指令进行文件传输、截屏、录屏

文章目录

    • 一、复制文件:adb pull/adb push
    • 二、截取屏幕截图:screencap
    • 三、录制视频:screenrecord
  • 附录:【adb详细教程】系列文章目录

(adb的安装包我已上传到了网盘。可以直接搜索公众号【软件测试必备技能】或 滑到文章底部,点击公众号卡片扫描二维码,前往关注领取。)

  • ADB的安装与设置可以参考博客之前的文章:
    adb详细教程(一)-下载安装与环境变量配置
    adb详细教程(二)-开启手机开发者模式、通过adb连接安卓设备

一、复制文件:adb pull/adb push

  • 使用adb命令可将任意目录和文件复制到设备中的任何位置。
  1. 将文件从设备复制电脑:
    adb pull {设备上的地址} {本地地址}
    
  2. 将文件从电脑复制设备:
    adb push {本地地址} {设备上的地址}
    
  • 示例:
    • 将 local 和 remote 替换为开发机器(本地)和设备(远程)上的目标文件/目录的路径。例如:
      adb push myfile.txt /sdcard/myfile.txt
      
    • 运行成功后,会显示一个文件已push
      在这里插入图片描述

二、截取屏幕截图:screencap

  • 当设备连接adb时,可以使用adb指令截图设备屏幕截图
  • 截图需要分为两步
    1. 截屏,并将截图保存在指定目录下
      adb shell screencap /sdcard/screen.png
      
    2. 将截图复制到电脑
      adb pull /sdcard/screen.png {本地地址}
      
  • 按照步骤运行成功之后,就可以在电脑上查看刚刚在设备上的截图。截图也可以直接在手机上查看。
    在这里插入图片描述
    在这里插入图片描述

三、录制视频:screenrecord

  • 当设备连接adb时,可以使用adb指令录屏
  • 录屏需要分为两步
    1. 开始录屏
      adb shell screenrecord /sdcard/demo.mp4
      
      • 按 Ctrl+C 键(在 Mac 上,按 Command+C 键)可停止屏幕录制;如果不手动停止,到三分钟或 --time-limit 设置的时间限制时,录制将会自动停止。
    2. 将录制完成的文件复制到电脑
      adb pull /sdcard/demo.mp4 {本地地址}
      
  • 默认情况下,以本机显示分辨率和屏幕方向进行录制,时长不超过三分钟。
  • 使用adb录屏还支持设置分辨率和比特率进行录制,同时保持设备显示屏的宽高比。以下是录屏指令的相关选项说明:
    • –help 显示命令语法和选项
    • –size {width}x{height} 设置视频大小:默认值为设备的本机显示屏分辨率(如果支持);如果不支持,则为 1280x720。
    • –bit-rate {rate} 设置视频的视频比特率(以 MB/秒为单位)。默认值为 4Mbps。可以增加比特率以提升视频质量,但这样做会导致视频文件变大。
    • –time-limit {时间} 设置最长录制时间(以秒为单位)。默认情况下,最大值为 180(3 分钟)。
    • –rotate 将输出旋转 90 度。此功能处于实验阶段。
    • –verbose 在命令行屏幕显示日志信息。如果您不设置此选项,则该实用程序在运行时不会显示任何信息。
  • 示例,这里我以录制3秒钟的视频为例在这里插入图片描述
  • 录制成功后,拉取文件到电脑在这里插入图片描述
  • 使用ADB录屏也有局限性:
    1. 录屏时无法同时录制音频,所以使用ADB录制的视频文件没有声音。
    2. 无法在搭载 Wear OS 的设备上录制视频。(Wear OS,是Google推出智能手表操作系统。)
    3. 某些设备可能无法以它们的本机显示分辨率进行录制。如果在录制屏幕时出现问题,可以尝试使用较低的屏幕分辨率。
    4. 不支持在录制时旋转屏幕。如果在录制期间屏幕发生了旋转,则部分屏幕内容在录制时将被切断。

附录:【adb详细教程】系列文章目录

adb详细教程(一)-下载安装与环境变量配置
adb详细教程(二)-开启手机开发者模式、通过adb连接安卓设备
adb详细教程(三)-使用adb安装app、卸载app
adb详细教程(四)-使用adb启动应用、关闭应用、清空应用数据、获取设备已安装应用列表
—————————————————————————————————
adb安装包我已上传到了本人运营的博客同名公众号【软件测试必备技能】。公众也会不定期会上传测试相关资料,有需要可以前往领取。

有需要可点击文章下方二维码,前往领取~在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/284591.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

买显卡别再只看N、A两家了,这些高性价比I卡也很香

谈起独立显卡,相信不少朋友都会第一时间想起NVIDIA与AMD这两家巨头。然而,除了这两家巨头以外,凭借集显占据全球最高显卡市场份额的英特尔在2021年正式入局了独显市场,并在去年9月的时候公布了Arc A系列显卡阵容,型号从…

5分钟手把手教Tuxera NTFS 2023破解版安装激活图文使用教程

对于必须在Windows电脑和Mac电脑之间来回切换的Mac朋友来说,跨平台不兼容一直是一个巨大的障碍,尤其是当我们需要使用NTFS格式的硬盘在Windows和macOS之间共享文件时。因为Mac默认不支持写入NTFS磁盘。 为了解决这一问题,很多朋友会选择很便捷…

挑战52天学小猪佩奇笔记--day25

52天学完小猪佩奇--day25 ​【本文说明】 本文内容来源于对B站UP 脑洞部长 的系列视频 挑战52天背完小猪佩奇----day25 的视频内容总结,方便复习。强烈建议大家去关注一波UP,配合UP视频学习。 注:这集开始变成一段一段的猜台词,加…

第十三章 SpringCloud Alibaba 实现 Seata--分布式事务

分布式事务基础 事务 事务指的就是一个操作单元,在这个操作单元中的所有操作最终要保持一致的行为,要么所有操作 都成功,要么所有的操作都被撤销。简单地说,事务提供一种“要么什么都不做,要么做全套”机制。 本地事…

还在为学MyBatis发愁?史上最全,一篇文章带你学习MyBatis

文章目录 前言一、📖MyBatis简介1.Mybatis历史2.MyBatis特性3.对比(其他持久化层技术) 二、📣搭建MyBatis1.开发环境2.创建maven工程3.创建MyBatis核心配置文件4.创建mapper接口5.创建MyBatis的映射文件6.通过junit测试功能7.加入…

【04】GeoScene导出海图或者电子航道图000数据成果

1创建一个带有覆盖面和定义的产品 如果你没有已存在的S-57数据,你可以通过捕捉新的产品覆盖范围(多边形产品范围)及其所需的产品定义信息(产品元数据)来为新产品创建基础。 注: 如果你已经有一个S-57数据…

ArrayList的初始化容量与扩容机制解析

目录 1. ArrayList初始化容量 2. ArrayList的扩容机制 2.1. 计算新容量 2.2. 创建新数组并复制数据 2.3. 更新内部数组引用 3. ArrayList扩容的性能优化 3.1. 批量添加元素 3.2. 避免无效的扩容 3.3. 初始容量设定 4. 总结 在Java中,ArrayList是一个非常常…

客观题测试-第7章查找

第1关:查找客观题测试(一) 1、关键字可以唯一地标识一个数据元素。 A、对 B、错 2、二叉排序树是一个动态查找表。 A、对 B、错 3、如果顺序表中各元素的查找概率相同,在顺序查找时,查找不成功的平均查找长度因…

Unity中URP下的菲涅尔效果实现(个性化修改)

文章目录 前言一、我们修正一下上篇文章中,可能遗留的Bug1、N向量 变为 单位向量2、使颜色范围在合理区间 二、实现菲涅尔效果强弱可自定义调节三、修改菲涅尔效果颜色1、在属性面板定义颜色属性2、在常量缓冲区申明该参数3、在片元着色器中,用颜色和菲涅…

信息收集 - 域名

1、Whois查询: Whois 是一个用来查询域名是否已经被注册以及相关详细信息的数据库(如:域名所有人、域名注册商、域名注册日期和过期日期等)。通过访问 Whois 服务器,你可以查询域名的归属者联系方式和注册时间。 你可以在 域名Whois查询 - 站长之家 上进行在线查询。 2、…

蓝蜂网关接入天津市应急与能耗监测管理平台案例

蓝蜂网关接入天津市应急与能耗监测管理平台案例 一、应用背景 按天津市供热办要求,全天津市已有供热软件平台的各个热力公司必须将所采集的热源和换热站的供热监测数据和重点户的测温数据一并上传到《天津市供热应急与能耗监测管理平台》(以下简称市管理…

C++ 开发中为什么要使用继承

为何继承 实验介绍 继承是 C++ 中的特性之一,使用继承能够有效减轻工作量,使得开发更加高效。 知识点 什么是继承为何继承继承的内容权限关键字什么是继承 生活中继承是指孩子继承父亲的财产等。C++ 使用了这一思想,却又与生活中的继承不一样。 在使用继承时,派生类是…