概述
本文为书籍《精通移动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建立连接过程:
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:UsersXX>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测试实战:技术、工具和案例》
最后
以上就是心灵美皮皮虾为你收集整理的精通移动APP测试实战:技术、工具和案例--ADB命令的全部内容,希望文章能够帮你解决精通移动APP测试实战:技术、工具和案例--ADB命令所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复