『與善仁』Appium基礎 — 3、ADB命令介紹

繁華似錦Fighting發表於2021-07-20

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

相關文章