每天一个安卓测试开发小知识之 (三) --- adb shell 以及常用的adb shell命令
每天一个安卓测试开发小知识之 (三) --- adb shell 以及常用的adb shell命令
shell 是什么,了解linux系统的人都知道 shell是人与系统交互的命令行工具。安卓中也是如此,安卓系统内核也是linux系统,因此大多数linux命令在安卓上也适用
一、 常见的adb shell 命令
1.1 进入和退出 adb shell
- 进入adb shell,在主机的shell中输入命令
adb shell回车
![]()
- 退出 adb shell,进入adb shell中输入
exit回车
![]()
adb shell命令除了在adb shell中执行外,还可以在shell后直接加上想要执行的命令,例如
adb shell ls

1.2 查看当前目录下的文件
ls命令
![]()
ls -l查看详细的文件信息
![]()
1.3 切换目录
cd /sdcard切换目录到sdcard下
![]()
1.4 命令补全
- 如果不记得adb shell 命令具体是什么 可以使用tab键进行补全,例如截屏 是
screencap,可以只输入screen然后按下tab键
![]()
会自动出现screen开头的命令
1.5 查看命令帮助
cmd --help,以截屏为例
![]()
1.6 截屏命令
screencap /data/local/tmp/123.jpg保存当前截屏到手机的/data/local/tmp/123.jpg
如果想要获取该截屏,可以通过adb pull /data/local/tmp/123.jpg命令获取,见上篇文章
![]()
截屏命令中还有很多参数可以选择,例如,-p-d可以根据自己的需要查看命令帮助
1.7 录屏命令
screenrecord
![]()
常用命令screenrecord /sdcard/123.mp4保存录屏到/sdcard/123.mp4
![]()
ctrl + c可以结束当前录屏,亮屏情况下才能开始录屏,否则会出现以下报错
nuwa:/sdcard # screenrecord /sdcard/123.mp4
ERROR: INVALID_LAYER_STACK, please check your display state.
1.8 查看手机的属性
adb shell getprop 查看手机的全部属性

冒号前 是属性名称,冒号后是属性的值
- 例如查看手机的系统版本号:
adb shell getprop ro.build.fingerprint
![]()
- 还可以通过命令行过滤指定的字符
- 在
adb shell后 ,以获取属性的版本为例(Linux系统)adb shell getprop | grep version,如果是windows 则是adb shell getprop | findstr version
![]()
- 在
adb shell中 ,以获取属性的版本为例(Linux系统)adb shellgetprop | grep version![]()
因为进入了adb shell 就相当于一个linux环境,因此必须使用grep来过滤字符
1.9 重启或者关机命令
- 重启
adb shell reboot或者adb reboot - 关机
adb shell reboot -p或者adb reboot -p
![]()
![]()
关机后adb就会断连 重启中 adb也会断连
这次的分享先到这里,每天进步一点点!!
每天一个安卓测试开发小知识之 (三) --- adb shell 以及常用的adb shell命令的更多相关文章
- React Native环境配置、初始化项目、打包安装到手机,以及开发小知识
1.前言 环境:Win10 + Android 已经在Windows电脑上安装好 Node(v14+).Git.Yarn. JDK(v11) javac -version javac 11.0.15. ...
- 【全面解禁!真正的Expression Blend实战开发技巧】第三章 从最常用ButtonStyle开始 - TextButton
原文:[全面解禁!真正的Expression Blend实战开发技巧]第三章 从最常用ButtonStyle开始 - TextButton 在实际项目中,使用blend做的最多的一定是各种自定义But ...
- Java开发小技巧(三):Maven多工程依赖项目
前言 本篇文章基于Java开发小技巧(二):自定义Maven依赖中创建的父工程project-monitor实现,运用我们自定义的依赖包进行多工程依赖项目的开发. 下面以多可执行Jar包项目的开发为例 ...
- java 测试开发基础知识(类加载,JVM等)
写在开头: 面试的时候别人很可能会问你的java原理,.class load 原理, jvm机制,这些都是Java的底层知识,特整理如下: 1. 首先,编写一个java程序,大家会用ide编写一个例如 ...
- bootstrap学习笔记(网页开发小知识)
这是我在学习Boostrap网页开发时遇到的主要知识点: 1.导航条navbar 添加.navbar-fixed-top类可以让导航条固定在顶部,固定的导航条会遮住页面上的其他内容,除非给<bo ...
- Python接口开发小知识
关于数据库设计 接口开发多学习数据库表操作,这是要点 不存在删除数据,每个可能被删除数据的表加一个is_active属性 不同的表可以有多个相同的字段,字段属性少用禁止非空 不要设置太多主外键(高内聚 ...
- 【ZeyFraのJavaEE开发小知识05】Mybatis-Plus & Axios
关于如何在Mybatis-Plus中添加SQL拦截器 之前ZeyFra在MyBatis-Plus[踩坑记录01]一文中提到过,使用Mybatis-Plus时最好使用MybatisSqlSessionF ...
- JSP+Ajax站点开发小知识
一.JSP基础 1.<select name="love" size="3">当中的size属性指定了列表框显示选项的条数.假设全部选项多于这个 ...
- 安卓(Android)开发基础知识
.aar文件 .aar是一种压缩文件,和.jar类似,不过它可以包含资源文件,例如图片.drawable.xml资源 .jar文件 在软件领域,JAR文件(Java归档,英语:Java ARchive ...
- 一个Monkey测试的小坑
环境:Genymotion模拟器+Custome Phone-6.0.0,API 23 操作步骤如下: cd data/app ls //为了获取待测apk的包名 获取结果如下: 执行命令,其中包名使 ...
随机推荐
- Altair官方文档——HyperMesh的使用与帮助
1.1.3 启动 HyperMesh (1) On PC • 从起始菜单,选择 All Programs >Altair HyperWorks (version) > HyperMesh ...
- 在使用Flink CDC时,源表没有主键如何处理
本文分享自天翼云开发者社区<在使用Flink CDC时,源表没有主键如何处理>,作者:5****m 在Flink CDC中,当源表没有主键时,需要设置scan.incremental.sn ...
- Oracle 客户端深度指南:SQL Developer 与 PL/SQL Developer 全面安装使用教程
作为拥有10年Oracle开发经验的资深工程师,我将为您提供一份专业级的客户端工具指南.无论您是初学者还是进阶开发者,本教程都将帮助您高效使用Oracle生态中最强大的两个工具. 一.工具对比与选择建 ...
- Kong入门学习实践(7)灰度发布与蓝绿部署
两年前,我在学习K8s的时候有写过一篇基于Nginx Ingress实现灰度发布的博文.这次,我们基于Kong来实践一下.灰度发布的具体实现其实是流量切分,那就让我们先回顾一下流量切分的实现方式. 流 ...
- MinHook 如何对 .NET 母体 CoreCLR 进行拦截
一:背景 1. 讲故事 这篇文章起源于和一家 .NET公司 开线上会议时,提出的一个场景问题,程序出现了非托管内存暴涨,这些非托管内存关联的对象都囤积在 终结器队列 中,很显然这是代码中没用 usin ...
- Claude Code 深夜也要加班?这个神器让 AI 自动续命!
你有没有遇到过这种情况? 晚上熬夜用 Claude Code 写代码,正写到关键时刻,突然弹出:"Claude usage limit reached. 恢复时间:凌晨 3 点" ...
- 645仪表以JSON格式上发方法
1.概述 之前我们已经介绍了Modbus RTU仪表实现JSON格式上发云服务器的方法,类似的现在也可以支持645协议的仪表通过JSON格式上发服务器. 卓岚实现645仪表转JSON网关的特点有: 1 ...
- 学习spring cloud记录1-使用idea新建第一个spring cloud
新建项目 1.新建项目,选择Maven 2.填写信息点击finish 删除src作为父级 添加子项目 1.在项目上新键-->new-->module-->Spring Initial ...
- CF1227G Not Same 题解
CF1227G Not Same 构造.考虑按照每个数字进行考虑,每次填充一列. 观察样例 \(1\),不难发现可以构造使每一行或列一定有一个位置为 \(0\).我们不妨对于每一列限定这个 \(0\) ...
- CF1875C Jellyfish and Green Apple 题解
CF1875C Jellyfish and Green Apple 我们首先把整块的分完,然后处理剩余的分数块数. 由于我们只能劈成两半,所以约分之后分数的分母只能为 \(2\) 的幂,不能包含其他质 ...














