前言
学Android测试,ADB指令是必学的。
![img_eb0d1cf963f465d63939b9bd9ca2aabb.png](https://i-blog.csdnimg.cn/blog_migrate/b444645754798f6b2e99274e01c8a557.png)
一、ADB概述
Android Debug Bridge,Android调试桥接器,简称adb,是用于管理模拟器或真机状态的万能工具,采用了客户端-服务器模型,包括三个部分:
1、客户端部分,运行在开发用的电脑上,可以在命令行中运行adb命令来调用该客户端,像ADB插件和DDMS这样的Android工具也可以调用adb客户端。
2、服务端部分,是运行在开发用电脑上的后台进程,用于管理客户端与运行在模拟器或真机的守护进程通信。
3、守护进程部分,运行于模拟器或手机的后台。
当启动adb客户端时,客户端首先检测adb服务端进程是否运行,如果没有运行,则启动服务端。当服务端启动时,它会绑定到本地的TCP5037端口,并且监听从adb客户端发来的命令——所有的adb客户端都使用5037端口与adb服务端通信。
接下来服务端与所有正在运行的模拟器或手机连接。它通过扫描5555-5585之间的奇数号端口来搜索模拟器或手机,一旦发现adb守护进程,就通过此端口进行连接。需要说明的是,每一个模拟器或手机使用一对有序的端口,偶数号端口用于控制台连接,奇数号端口用于adb连接。
二、常用的指令
1.查询模拟器或手机状态
adb devices
执行结果是adb为每一个设备输出以下状态信息:序列号(serialNumber) — 由adb创建的使用控制台端口号的用于唯一标识一个模拟器或手机设备的字符串,格式是 <设备类型>-<端口号>,例如: emulator-5554
状态(state) — 连接状态,其值是:offline — 未连接或未响应
device —已经连接到服务商。注意这个状态并不表示Android系统已经完全启动起来,系统启动的过程中已经可以连接adb,但这个状态是正常的可操作状态。
![img_7279a385e2390688e52ffee25615fe62.png](https://i-blog.csdnimg.cn/blog_migrate/d0597b052c504cafb43a97b8169f286c.png)
2.安装卸载应用程序APK
在 cmd 输入以下指令,可以安装 app:adb install <path_to_apk>
在 cmd 输入以下指令,可以删除 app:adb uninstall <path_to_apk>
3.使用Monkey进行UI或应用程序测试
Monkey是运行于模拟器或手机上的一个程序,通过生成伪随机的大量的系统级的用户事件流来模拟操作,包括单击、触摸、手势等。从而为正在开发中的应用程序通过随机响应进行压力测试。最简单使用monkey的方式是通过下面的命令行,它可以运行指定的应用程序并向其发送500个伪随机事件。
在 cmd 输入以下指令:adb shell monkey -v -p your.package.name 500
4.停止重启adb服务
在某些情况下,可能需要终止然后重启服务端进程,例如adb不响应命令的时候,可以通过重启解决问题。使用kill-server可以终止服务端,然后使用其他的adb命令重启。
在 cmd 输入以下指令,停止adb服务:adb kill-server
在 cmd 输入以下指令,重启adb服务:adb start-server
5.adb与模拟器或手机传输文件
在 cmd 输入以下指令,表示从电脑发文件到手机:adb push <本地路径> <远程路径>
在 cmd 输入以下指令,表示从手机下载文件到本地:adb pull <本地路径> <远程路径>
6.日志输出
第一种:输出到手机存储卡
adb logcat > /sdcard/mylogcat.txt
第二种:输出到电脑上
adb logcat > D:/Temp/1.txt(1.txt 必须在电脑上存在,才能写入 logcat 内容)
7.显示帮助信息
adb help
![img_1fc1f3cd62bb4ac13ecee230c58874a3.png](https://i-blog.csdnimg.cn/blog_migrate/623394d04d823957219a9c17863cf01f.png)
其他指令详解参考资料:ADB命令详解