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
結構的工具,是來連線開發電腦(客戶端)和除錯手機(服務端)的工具。
包含如下三個部分:
- Client端:執行在開發機器中,也就是你的開發PC機,用來傳送ADB命令。
- Daemon守護程式:執行在除錯裝置中,可以是手機,也可以是模擬器,用來接收並執行ADB命令。
- Server端:作為一個後臺程式執行在開發機器中(PC機)。 用來管理PC中的Client端和手機Daemon守護程式之間的通訊。
如下圖所示:
說明:
當你執行一條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
注意1:如果不進入到...\Microvirt\MEmu
目錄中執行adb連結命令,會提示如下:
提示:開始的時候會出現這種情況,之後就沒有這種問題了。開啟命令列就可以直接執行ADB命令了。
注意2:ADB連結安卓模擬器的時候,模擬器要開啟,否則出現如下提示:
3)執行檢視所有連線的模擬器命令adb devices
如圖所示:已經連上模擬器。
說著直接輸入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