『与善仁』Appium基础 — 3、ADB命令介绍

1、ADB命令简介

ADB全名Andorid Debug Bridge,是一个Debug调试工具,用这个工具可以直接操作管理Android模拟器或者真实的android设备。

  • 开发安卓应用的程序员必须要掌握。
  • 测试工程师在做安卓应用测试时,会使用到。

ADB是Android SDK里的一个是一个C/S架构的命令程序(platform-tools文件夹中),其中客户端是我们操作的电脑,服务器端是Android设备。ADB就是起到调试桥的作用,通过这个桥我们可以管理设备或手机模拟器的状态,还可以进行安卓手机的很多操作,如安装软件、系统升级、运行shell命令等等。

换句话说,ADB就是连接Android手机与PC端的桥梁,可以让用户在电脑上通过终端ADB命令操作安卓手机/模拟器。

2、ADB命令运行原理

ADB是一个标准的C/S结构的工具,是来连接开发电脑(客户端)和调试手机(服务端)的工具。

包含如下三个部分:

  1. Client端:运行在开发机器中,也就是你的开发PC机,用来发送ADB命令。
  2. Daemon守护进程:运行在调试设备中,可以是手机,也可以是模拟器,用来接收并执行ADB命令。
  3. Server端:作为一个后台进程运行在开发机器中(PC机)。 用来管理PC中的Client端和手机Daemon守护进程之间的通信。

如下图所示:

image

说明:

当你执行一条ADB命令的时候,ADB客户端会先接收你输入的命令,然后ADB客户端会把命令发送给ADB服务器,ADB服务器再把命令发送给手机中的Daemon(守护进程)。

Daemon负责技术Server端发送过来的命令,并且在手机中执行该命令。

我们可以看到上图中的箭头都是双向的。

也就是说Daemon执行完的结果会返回给Server端,Server端再传递给Client端。

Client端再给终端程序显示。

总结:

  • Android手机必须和电脑建立连接。
  • Windows系统命令行终端中执行的命令,会发送到Andorid设备上执行。

3、通过ADB命令连接安卓模拟器

国内有很多款安卓模拟器,比如逍遥、雷电、MUMU、夜神等,我们以逍遥模拟器为例。

模拟器进行App自动化测试时,需要使用ADB来连接模拟器,链接后才能找到该手机。

具体操作步骤:

(1)安装安卓模拟器

在Windows环境下安装逍遥模拟器,执行XYAZ-Setup.exe默认安装即可。

(2)ADB命令连接安卓模拟器

连接逍遥模拟器,21503为逍遥模拟器的默认端口号。

1)打开命令行窗口,进入安装目录下...\Microvirt\MEmu目录。

2)执行连接命令adb connect 127.0.0.1:21503

image

注意1:如果不进入到...\Microvirt\MEmu目录中执行adb链接命令,会提示如下:

image

提示:开始的时候会出现这种情况,之后就没有这种问题了。打开命令行就可以直接执行ADB命令了。

注意2:ADB链接安卓模拟器的时候,模拟器要开启,否则出现如下提示:

image

3)执行查看所有连接的模拟器命令adb devices

image

如图所示:已经连上模拟器。

说着直接输入adb,出现如下,也是配置成功了。

C:\Users\L>adb
Android Debug Bridge version 1.0.41
Version 29.0.6-6198805
Installed as F:\DevInstall\envs\android-sdk-windows\platform-tools\adb.exe

global options:
 -a         listen on all network interfaces, not just localhost
 -d         use USB device (error if multiple devices connected)
 -e         use TCP/IP device (error if multiple TCP/IP devices available)
 -s SERIAL  use device with given serial (overrides $ANDROID_SERIAL)
 -t ID      use device with given transport id
 -H         name of adb server host [default=localhost]
 -P         port of adb server [default=5037]
 -L SOCKET  listen on given socket for adb server [default=tcp:localhost:5037]

 ...省略后面内容...

(3)常用Android模拟器端口号

链接Android模拟器命令adb connect

  • 逍遥模拟器:adb connect 127.0.0.1:21503
  • 夜神模拟器:adb connect 127.0.0.1:62001
  • 雷电模拟器:adb connect 127.0.0.1:5555
  • MuMu模拟器:adb connect 127.0.0.1:7555
  • 天天模拟器:adb connect 127.0.0.1:6555
  • 海马模拟器:adb connect 127.0.0.1:26944
posted @ 2021-07-20 14:39  繁华似锦Fighting  阅读(417)  评论(1编辑  收藏  举报