ADB软件自动化测试底层学习(1)-基本语法&基础命令

adb(android debug bridge) ,即安卓调试桥,是安卓开发或测试人员的强力开发工具。

一. ADB基本语法

adb [-d/-e/-s <SerialNumber>] <Command>

如果只有一个设备,可以直接 adb <Command>

1.为命令指定目标设备

如果有多个设备连接,则需要给adb指定命令目标设备

  1. -d 指定当前唯一通过USB连接的设备
  2. -e 指定当前唯一运行的模拟器为目标
  3. -s 指定SerialNumber为目标设备(重要)
SerialNumber获取

SerialNumber通过adb命令获取---- adb devices

$adb devices
List of devices attached
e2bbf5c4        device
172.16.13.99:5555       device

输出中有两个设备 e2bbf5c4172.16.13.99:5555,都为SerialNumber

例如:获得e2bbf5c4的屏幕物理分辨率
adb -s e2bbf5c4 shell wm size

例如:获得172.16.13.99:5555的IP地址
adb -s 172.16.13.99:5555 shell ip addr show wlan0

2.连接设备

命令:
adb devices

输出结果例子:

List of devices attached
e2bbf5c4        device
192.168.8.139:5555      offline

输出格式为[ServialNumber][state],其中ServialNumber为序列号(SN),state为设备连接状态。

state有以下有三种状态
device--------正常
offline-------连接异常,设备无响应
unauthorized--设备未授权(需要在手机中以开发者模式开启USB调试及授权

其它获得设备状态命令:
adb get-state

3.root权限(需要解决问题)!!!!!!

adb 的运行原理是 PC 端的 adb server 与手机端的守护进程 adbd 建立连接,然后 PC 端的 adb client 通过 adb server 转发命令,adbd 接收命令后解析运行。 所以如果 adbd 以普通权限执行,有些需要 root 权限才能执行的命令无法直接用 adb xxx 执行。这时可以 adb shell 然后 su 后执行命令,也可以让 adbd 以 root 权限执行,这个就能随意执行高权限命令了。

命令:
adb root

输出:
restarting adbd as root
(小弟暂时没有解决,提示adbd cannot run as root in production builds),待后续学习解决,有大佬观看也请提示一下!!!!!

posted @ 2022-04-20 22:11  Mr_Ethic  阅读(150)  评论(0)    收藏  举报