精通移动APP测试实战:技术、工具和案例--ADB命令

本文为书籍《精通移动App测试实战:技术、工具和案例》的阅读笔记,仅作学习记录,感谢书籍作者提供的学习机会。
1、ADB概念
ADB(Android Debug Bridge),是Android提供的一个通用的调试工具。
工具路径:adb.exe在安装的android的sdk开发包platform-tools目录下

ADB主要由3个部分构成。
(1)adb客户端,电脑上运行。通过命令行控制台使用adb命令可以启动客户端。
(2)adb服务器,在adb客户端的机器上作为后台进程运行的服务器,该服务器负责管理客户端与运行于模拟器或设备上的adb守护程序(daemon)之间的通信。
(3)adb daemon(守护进程),一个以后台进程的形式运行于模拟器或物理手机设备上的守护程序。
adb交互流程在这里插入图片描述ADB建立连接过程:
在这里插入图片描述
2、ADB相关指令
adb -help:查看adb相关命令
(1)adb devices:查看设备相关信息
显示:序列号+设备状态,模拟器序列号的命名通常是:<设备类型>-<端口号>
(2)adb install:安装手机应用
-s:指定模拟器或物理手机设备 ,例:

adb -s emulator-5554 install E:\CalculatorOfTwoNum.apk

-r:覆盖原来安装的软件并保留数据,例:

adb install -r E:\CalculatorOfTwoNum.apk

注意:多个设备时一定要使用-s参数指定设备,否则会安装失败
(3)adb uninstall:卸载已安装的应用
用法1:

adb -s emulator-5554 uninstall com.yuy.calculatoroftwonum

用法2:保留软件的配置和缓存文件

adb -s emulator-5554 shell pm uninstall -k com.yuy.calculatoroftwonum

注意:这里要用包名
(4)adb pull:将手机上的文件传到电脑上

adb pull /sdcard/tmp/error_fs.dat d:/

(5)adb push:将电脑上的文件(夹)传到手机上

adb -s 4df7b6be03f2302b push c:/robotium.rar /sdcard/
adb -s 4df7b6be03f2302b push f:/pass /sdcard/pass/

(6)adb shell:执行linux命令
基本语法 :adb shell linux指令 参数
例:查看手机当前目录所有内容
用法1:

adb shell ls 

用法2:

C:\Users\XX>adb shell
x1q:/ $ ls

注意:
adb shell :进入手机系统,使用”exit“可以退出
其他linux命令,例如cd、cat、df、uptime、ps、kill等用法相同,不再举例。

(7)adb shell dumpsys battery:查看电池电量的相关信息
注意:输出信息含义可大致了解

(8)adb shell dumpsys WiFi:查看无线网络的信息

adb shell dumpsys wifi |more

注意:
运行该指令后输出信息很多,使用“|more”可以满一屏后暂停输出,按空格健继续显示下页内容,或按“Q”键停止显示后续输出信息。
命令中的wifi一定要用小写。
(9)adb shell dumpsys power:查看电源管理的相关信息
(10)adb shell dumpsys telephony.registry:查看电话相关信息
(11)adb shell cat /proc/cpuinfo:查看CPU硬件的相关信息
注意:Android系统的“/proc”分区保存的系统各种实时信息,如CPU、内存等信息。
(12)adb shell cat /proc/meminfo:查看内存的相关信息
(13)adb shell cat /proc/iomem:查看I/O内存分区的相关信息
(14)adb shell cat /system/build.prop | findstr “ro.product.model”:获取手机型号
(15)adb shell cat /proc/cpuinfo | findstr “processor”:获取手机处理器信息
(16)adb shell cat /proc/meminfo | findstr “MemTotal”:获取手机内存信息
(17)adb shell dumpsys window displays:获取手机屏幕分辨率
(18)adb shell getprop ro.build.version.release:获取手机系统版本
(19)adb shell cat /proc/version:获取到手机系统内核版本信息
(20)adb shell getprop gsm.operator.alpha:获取手机运营商信息
(21)adb shell getprop gsm.network.type:获取手机网络类型
(22)adb shell dumpsys iphonesubinfo | findstr “Device ID”:获取手机串号信息
(23)adb shell df:Android各分区的大小,使用情况等
(24)adb shell dmesg:输出Linux内核的环形缓冲区信息,从中获得诸如系统架构、CPU、挂载的硬件、RAM等多个运行级别大量的系统信息。该命令对于设备故障的诊断是非常重要的。
例:把相关输出信息重定向到log.txt文件中

adb shell dmesg > /sdcard/log.txt

(25)adb shell dumpstate:获取手机Android系统当前状态的相关信息
(26)adb get-serialno:获取设备序列号
(27)adb get-serialno:查看模拟器/设备的当前状态
(28)adb logcat:查看和跟踪系统日志缓冲区的信息(ctrl+c 退出)
在系统中,每一条日志都会有一个优先级和标记与之对应,日志优先级如下:
①V:代表冗余级别的日志信息;(最低)
②D:代表调试级别的日志信息;
③I:代表信息级别的日志信息;
④W:代表警告级别的日志信息;
⑤E:代表错误级别的日志信息;(最高)
例:输入警告级别及以上的日志信息

adb logcat *:W

-b:查看附加的缓存区
①radio :查看包含无线/电话相关的缓冲区消息;
②events :查看事件相关的消息;
③main :查看主缓冲区相关的消息;
例:

adb logcat -b main

(29)adb bugreport:查看Android启动过程的日志信息,以及启动后的系统状态,包括进程列表、内存信息、VM信息等
(30)adb start-server:启动adb服务
(31)adb kill-server:关闭adb服务
(32)adb forward:端口重定向
例:本机的2211端口重定向到设备上的5566端口上

adb forward tcp:2211tcp:5566

(33)am指令(略)
(34)pm指令
adb shell pm list packages:打印所有包信息
adb shell pm list packages -f:打印所有包的apk位置及包名
其他参数:
①-d:查看disabled packages。
②-e:查看enable package。
③-s:查看系统package。
④-3:查看第三方package。
⑤-i:查看package的对应安装者。
⑥-u:查看曾被卸载过的package。

源:《精通移动APP测试实战:技术、工具和案例》

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值