常用的adb命令(最全)

前言

  作为一个合格的app测试工程师或者手机终端测试工程师,掌握adb命令甚是关键,但是,什么是adb呢?
  adb全称为android debug bridge-------起到调试桥的作用。顾名思义,adb就是一个debug工具。借助adb工具,我们可以管理设备或手机模拟器的状态,还可以进行很多手机操作,如安装软件、系统升级、运行shell命令等等。简而言之,adb就是连接Android手机和PC端的桥梁。Android开发者官方文档

1、最常用的一些adb命令

adb devices:查看当前连接的设备列表
adb version: 查看当前adb的版本
adb install [apk文件路径]:安装一个应用程序
adb uninstall [包名]:卸载一个应用程序
adb pull [设备文件路径] [本地文件路径]:从设备上复制文件到本地计算机
adb push [本地文件路径] [设备文件路径]:将本地文件复制到设备上
adb logcat:查看设备的日志信息
adb logcat > D:/logs/logcat.txt:导出日志
adb shell am start [包名/类名]:启动一个应用程序
adb shell input text [文本]:模拟输入文本到设备
adb shell screencap [文件路径]:截屏并保存为图片文件
adb shell pm clear (apk包名): 清除应用数据与缓存

2、更详细的命令表如下

命令

描述

android list targets

显示系统中全部Android平台

android list avd

显示系统中全部AVD(模拟器)

android create avd –name 名称 –target 平台编号

创建AVD(模拟器)

emulator -avd 名称 -sdcard ~/名称.img (-skin 1280×800)

启动模拟器

android delete avd –name 名称

删除AVD(模拟器)

mksdcard 1024M ~/名称.img

创建SDCard

ddms

启动DDMS

adb devices

显示当前运行的全部模拟器

adb -s 模拟器编号 命令

对某一模拟器执行命令

adb install -r 应用程序.apk

安装应用程序

adb pull <remote> <local>

获取模拟器中的文件

adb push <local> <remote>

向模拟器中写文件

adb shell

进入模拟器的shell模式

android

启动SDK,文档,实例下载管理器

adb uninstall apk包的主包名

卸载apk包

adb help

查看adb命令帮助信息

adb logcat -s 标签名

在命令行中查看LOG信息

adb remount

删除系统应用

adb shellcd data/apprm apk包exit

缷载apk包

adb remount

删除系统应用,重新挂载系统分区,使系统分区重新可写

adb shellcd system/apprm *.apk

删除系统应用

adb root

获取管理员权限

adb shell am start -n 包名/包名+类名(-n 类名,-a action,-d date,-m MIME-TYPE,-c category,-e 扩展数据,等)

启动Activity

adb forward tcp:5555 tcp:8000

发布端口

adb push <source> <destination>

复制文件到设备或模拟器上

adb pull <source> <destination>

从设备或模拟器上复制文件

adb devices

搜索模拟器/设备的实例

adb bugreport

查看bug报告

adb shell logcat -b radio

记录无线通讯日志

adb get-product

获取设备的ID

adb get-serialno

获取设备的序列号

adb shell sqlite3

访问数据库SQLite3

adb shellcd system/sd/datals

进入系统内指定文件夹并列出内容

adb shellrm -r xxx

删除名为xxx的文件夹及其内部所有文件

adb shellrm xxx

删除文件xxx

adb shellrmdir xxx

删除文件夹xxx

3、常用简单的adb命令

命令

描述

adb devices

获取设备列表和设备的状态

adb get-state

获取设备的状态(device,offline,unknown)

adb kill-serveradb start-server

结束,启动adb服务

adb install -r

覆盖安装应用(apk)

adb uninstall

卸载应用(应用包名)

adb pull

将设备上的文件复制到电脑上

adb push

将电脑上的文件复制到设备上

adb reboot

重启设备

adb connect

远程连接设备

adb disconnect

断开设备连接

# 4、 adb shell pm基本的命令

命令

描述

adb shell pm list package -s

列出系统应用

adb shell pm list package -3

列出第三方的应用

adb shell pm list package -i

列出来源

adb shell pm list package -f

列出包名和路径

adb shell pm path packagename

列出应用apk的位置

adb shell pm dump packagename

列出应用相关的信息

adb shell pm clear packagename

清除应用的缓存数据

adb shell pm install /data/local/tmp/test.apk

安装应用

adb shell pm install -r /data/local/tmp/test.apk

重新安装应用

adb shell pm uninstall -k packagename

卸载应用(保留缓存数据)

adb shell pm install -d apk

允许降级安装

5、adb shell am基本的命令

命令

描述

adb shell am start -n activityname

启动一个Activity

adb shell am start -W activityname

等待页面启动完成

adb shell am start -S activityname

先停止应用再启动

am force-stop packagename

结束应用

6、adb shell dumpsys基本的命令

命令

描述

adb shell dumpsys cpuinfo

监控CPU信息

adb shell dumpsys meminfo

监控内存信息

adb shell dumpsys power

监控电源信息

adb shell dumpsys battery

监控电池信息

adb shell dumpsys wifi

监控WiFi信息

adb shell dumpsys notification

监控通知信息

adb shell dumpsys activity

获取页面信息

7、 关闭某项进程,以monkey为例

命令

描述

ps | grep monkey

查看monkey进程的pid

kill pid

杀死monkey进程

8、最近12小时的资源情况

命令

描述

adb shell dumpsys procstats --hours 12

查看最近12小时的资源情况

9、录制屏幕命令

命令

描述

adb shell screenrecord /sdcard/demo.mp4

录制屏幕视频

--time-limit

限制录制时间

--size

指定视频分辨率大小

--bit-rate

指定视频的比特率

--verbose

在命令行显示日志

10、截图命令

命令

描述

adb shell screencap -p /sdcard/screen.png

截取屏幕截图并保存到指定位置

11、input命令

adb shell input:

  • text 输入文本
  • keyevent 输入事件
  • tap 点击
  • swipe 滑动

12、关于获取当前页面的信息

命令

描述

adb shell dumpsys activity top | findstr ACTIVITY

获取当前界面的Activity

adb shell dumpsys activity | findstr mFocusedActivity

获取当前页面的activity

13、 生成当前页面的xml文本

命令

描述

adb shell uiautomator dump [file]

获取当前页面的XML信息

示例XML信息中的属性说明:
  • text:控件中显示的文本内容
  • class:控件的类型
  • package:包名
  • content-desc:说明
  • checkable:是否允许check
  • checked:check状态
  • clickable:是否允许click
  • enabled:控件状态
  • focusable:是否允许获取焦点
  • focused:是否获取到焦点
  • scrollable:是否允许滚动
  • long-clickable:是否允许长按
  • password:是否是密码控件
  • selected:select状态
  • bounds:控件绘制的长宽及位置四个数据,分成两组,分别是左上坐标和右下坐标

14、打印页面的log信息

命令

描述

adb logcat -s ActivityManager

打印页面的log信息

adb logcat

在cmd命令页面打印页面的log信息

15、系统操作指令

命令

描述

adb shell getprop ro.product.model

获取设备型号

adb shell getprop ro.build.version.release

获取设备Android系统版本

adb get-serialno

获取设备的序列号(设备号)

adb shell wm size

获取设备屏幕分辨率

adb shell dumpsys activity | find "mFocusedActivity"

查看前台应用包名,适用于Android 7.0以下,必须先启动app

adb shell dumpsys activity | find "mResumedActivity"

查看前台应用包名,适用于Android 8.0以上,必须先启动app

16、取日志

命令

描述

adb logcat -v time

打印详细的日志信息

adb logcat -v time > D:\log.txt

把日志输出到电脑上的文本文件中

adb logcat -c

清除之前的日志信息

17、日志过滤

17.1 使用管道进程来查看日志

adb logcat \| grep MyApp:过滤包含"MyApp"的日志
adb logcat \| grep -i myapp:忽略大小写,过滤包含"myapp"的日志

17.2 只抓取某个应用的命令

adb logcat \| findstr app进程号:只显示特定应用的日志(在Windows上使用findstr)

17.3 日志级别过滤

默认级别为V,输出所有日志最低级别。

日志级别包括:D(Debug)、I(Info)、W(Warning)、E(Error)、F(Fatal)和S(Silent,最高级别,不输出任何日志)。
示例:如果想要查看手机上级别为错误的日志,可以使用以下命令:

adb logcat *:E(不区分大小写)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

浮生_Lee

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值