python+appium自动化测试-01ADB命令
1、adb相关概念
1.1 ADB
英文全名Android Debug Bridge,是一个通用命令行工具,其允许您与模拟器实例或连接的 Android真机设备进行通信。它可为各种设备操作提供便利,如安装和调试应用。
1.2 ADB client:
client本质上就是Shell,用来发送命令给Server。发送命令时,首先检测PC上有没有启动Server,如果没有Server,则自动启动一个Server,然后将命令发送到Server,并不关心命令发送过去以后会怎样。
1.3 ADB server:
运行在PC上的后台程序,目的是检测USB接口何时连接或者移除设备。
ADB Server维护着一个“已连接的设备的链表”,并且为每一个设备标记了一个状态:offline,bootloader,recovery或者online。
Server一直在做一些循环和等待,以协调client和Server还有daemon之间的通信。offline说明Server发现了一个设备,但是不能成功连接到Daemon。
1.4ADB Daemon
运行在Android 设备上的一个进程,作用是连接到adb server(通过usb或tcp-ip)。并且为client提供一些服务。
2、adb工作原理
启动一个 adb 客户端时,此客户端首先检查是否有已运行的 adb 服务器进程。如果没有,它将启动服务器进程。当服务器启动时,它与本地 TCP 端口 5037 绑定,并侦听从 adb 客户端发送的命令—所有 adb 客户端均使用端口 5037 与 adb 服务器通信。
图片来源于网络:
3、ADB常用命令
3.1查看版本adb version
adb version
3.2连接模拟器adb connect
adb connect 127.0.0.1:62001
注意:这里用的是夜神模拟器的端口,其规律是第一个模拟器端口是62001,第二个端口是62025,第三个是62026,以此类推。
3.3查看设备信息adb devices
adb devices
注意:查看设备,要先连接才能查看
3.4进入shell
adb shell
#进入指定设备shell
adb -s 127.0.0.1:62001 shell
#退出adb shell
exit
3.5ADB安装
adb install | -r -r 覆盖原安装文件 -s 可以指定设备
#默认安装
adb install “C:\Users\username\Desktop\Appium\wandoujia.apk”
#覆盖安装
adb install -r “C:\Users\username\Desktop\Appium\wandoujia.apk”
#指定设备安装
adb -s 127.0.0.1:62001 install C:\Users\username\Desktop\Appium\kaoyan3.1.0.apk \wandoujia.apk"
3.6ADB卸载
注意:若在shell环境下不能卸载,可以直接在cmd环境下卸载
adb shell uninstall | -k <path+apkName>
3.7查看应用包名
adb shell pm list package
3.8寻找特定的包名
adb shell pm list package | grep
3.9push和pull文件读写
#将文件写入到设备
adb push
#将文件读取到某设备
adb pull
3.10adb服务启动和关闭
#关闭adb服务
adb kill-server
#开启adb服务
adb start-server