每天一个安卓测试开发小知识之 (三) --- 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 shell getprop | 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命令的更多相关文章

  1. React Native环境配置、初始化项目、打包安装到手机,以及开发小知识

    1.前言 环境:Win10 + Android 已经在Windows电脑上安装好 Node(v14+).Git.Yarn. JDK(v11) javac -version javac 11.0.15. ...

  2. 【全面解禁!真正的Expression Blend实战开发技巧】第三章 从最常用ButtonStyle开始 - TextButton

    原文:[全面解禁!真正的Expression Blend实战开发技巧]第三章 从最常用ButtonStyle开始 - TextButton 在实际项目中,使用blend做的最多的一定是各种自定义But ...

  3. Java开发小技巧(三):Maven多工程依赖项目

    前言 本篇文章基于Java开发小技巧(二):自定义Maven依赖中创建的父工程project-monitor实现,运用我们自定义的依赖包进行多工程依赖项目的开发. 下面以多可执行Jar包项目的开发为例 ...

  4. java 测试开发基础知识(类加载,JVM等)

    写在开头: 面试的时候别人很可能会问你的java原理,.class load 原理, jvm机制,这些都是Java的底层知识,特整理如下: 1. 首先,编写一个java程序,大家会用ide编写一个例如 ...

  5. bootstrap学习笔记(网页开发小知识)

    这是我在学习Boostrap网页开发时遇到的主要知识点: 1.导航条navbar 添加.navbar-fixed-top类可以让导航条固定在顶部,固定的导航条会遮住页面上的其他内容,除非给<bo ...

  6. Python接口开发小知识

    关于数据库设计 接口开发多学习数据库表操作,这是要点 不存在删除数据,每个可能被删除数据的表加一个is_active属性 不同的表可以有多个相同的字段,字段属性少用禁止非空 不要设置太多主外键(高内聚 ...

  7. 【ZeyFraのJavaEE开发小知识05】Mybatis-Plus & Axios

    关于如何在Mybatis-Plus中添加SQL拦截器 之前ZeyFra在MyBatis-Plus[踩坑记录01]一文中提到过,使用Mybatis-Plus时最好使用MybatisSqlSessionF ...

  8. JSP+Ajax站点开发小知识

    一.JSP基础 1.<select  name="love"  size="3">当中的size属性指定了列表框显示选项的条数.假设全部选项多于这个 ...

  9. 安卓(Android)开发基础知识

    .aar文件 .aar是一种压缩文件,和.jar类似,不过它可以包含资源文件,例如图片.drawable.xml资源 .jar文件 在软件领域,JAR文件(Java归档,英语:Java ARchive ...

  10. 一个Monkey测试的小坑

    环境:Genymotion模拟器+Custome Phone-6.0.0,API 23 操作步骤如下: cd data/app ls //为了获取待测apk的包名 获取结果如下: 执行命令,其中包名使 ...

随机推荐

  1. Altair官方文档——HyperMesh的使用与帮助

    1.1.3 启动 HyperMesh (1) On PC • 从起始菜单,选择 All Programs >Altair HyperWorks (version) > HyperMesh ...

  2. 在使用Flink CDC时,源表没有主键如何处理

    本文分享自天翼云开发者社区<在使用Flink CDC时,源表没有主键如何处理>,作者:5****m 在Flink CDC中,当源表没有主键时,需要设置scan.incremental.sn ...

  3. Oracle 客户端深度指南:SQL Developer 与 PL/SQL Developer 全面安装使用教程

    作为拥有10年Oracle开发经验的资深工程师,我将为您提供一份专业级的客户端工具指南.无论您是初学者还是进阶开发者,本教程都将帮助您高效使用Oracle生态中最强大的两个工具. 一.工具对比与选择建 ...

  4. Kong入门学习实践(7)灰度发布与蓝绿部署

    两年前,我在学习K8s的时候有写过一篇基于Nginx Ingress实现灰度发布的博文.这次,我们基于Kong来实践一下.灰度发布的具体实现其实是流量切分,那就让我们先回顾一下流量切分的实现方式. 流 ...

  5. MinHook 如何对 .NET 母体 CoreCLR 进行拦截

    一:背景 1. 讲故事 这篇文章起源于和一家 .NET公司 开线上会议时,提出的一个场景问题,程序出现了非托管内存暴涨,这些非托管内存关联的对象都囤积在 终结器队列 中,很显然这是代码中没用 usin ...

  6. Claude Code 深夜也要加班?这个神器让 AI 自动续命!

    你有没有遇到过这种情况? 晚上熬夜用 Claude Code 写代码,正写到关键时刻,突然弹出:"Claude usage limit reached. 恢复时间:凌晨 3 点" ...

  7. 645仪表以JSON格式上发方法

    1.概述 之前我们已经介绍了Modbus RTU仪表实现JSON格式上发云服务器的方法,类似的现在也可以支持645协议的仪表通过JSON格式上发服务器. 卓岚实现645仪表转JSON网关的特点有: 1 ...

  8. 学习spring cloud记录1-使用idea新建第一个spring cloud

    新建项目 1.新建项目,选择Maven 2.填写信息点击finish 删除src作为父级 添加子项目 1.在项目上新键-->new-->module-->Spring Initial ...

  9. CF1227G Not Same 题解

    CF1227G Not Same 构造.考虑按照每个数字进行考虑,每次填充一列. 观察样例 \(1\),不难发现可以构造使每一行或列一定有一个位置为 \(0\).我们不妨对于每一列限定这个 \(0\) ...

  10. CF1875C Jellyfish and Green Apple 题解

    CF1875C Jellyfish and Green Apple 我们首先把整块的分完,然后处理剩余的分数块数. 由于我们只能劈成两半,所以约分之后分数的分母只能为 \(2\) 的幂,不能包含其他质 ...