本文章轉載于搜狗測試
adb通過wifi連接android設備
問題背景
近期的項目測試中群发,需要將移動設備與廠商機器進行usb連接視頻傳輸(投屏)熊泵。測試過程中需要定位問題,經(jīng)常需要查看實時日志留凭,移動設備已經(jīng)和廠商機器usb連接投屏狸捅,無法用usb連接到PC,那么有什么辦法可以解決上面的問題呢拟糕?大白很苦惱~~~
adb支持usb連接模式和tcpip連接模式判呕,我們可以用tcpip模式通過wifi無線連接adb。
其他應用場景
usb線比較松的時候送滞,adb連接經(jīng)常斷開侠草;usb線連接,手機助手等程序會自動連接adb,經(jīng)常導致adb斷開;采用wifi連接adb可以減少上述問題發(fā)生残邀,對測試人員來說也是非常有幫助的呐籽。
具體連接步驟如下:
1、確認本機PC沒有任何adb設備連接,包括模擬器和usb連接
查看當前PC端連接有多少設備
adb devices命令后,列表顯示為空;
2霞赫、將遠程android設備接入Wi-Fi,并查看其IP地址
查看android設備的IP地址肥矢,這里有三種方式查看Android設備IP端衰。
(1).設置-關于手機-狀態(tài)信息-IP地址中查看
(2).設置-WLAN-點擊當前鏈接上的Wi-Fi查看IP
例如:設置—〉無線或網(wǎng)絡---〉WLAN設置—〉查看當前連接Wi-Fi的IP地址(部分機型需要按menu鍵并選擇“高級”選項---〉IP地址)
(3).通過adb命令查看設備IP地址:adbshell netcfg
前提:(設備已經(jīng)和PC建立了usb連接)
確保電腦和Android設備連接在同一個WIFI網(wǎng)絡環(huán)境(同一個局域網(wǎng)下,進行通信)
3甘改、本機command命令下執(zhí)行ping? android設備的IP
例如ping10.129.49.143旅东,如果ping成功,說明可以連接
ping成功
4十艾,執(zhí)行adb connect
知道設備IP地址之后抵代,就可以用adb connect命令通過IP和端口號連接adb。
adb connect10.129.49.143
如果顯示連接成功忘嫉,則可繼續(xù)執(zhí)行后面的操作荤牍;如果不成功案腺,如下圖顯示:connect拒絕
用adb tcpip模式重啟adb
adb tcpip 5555
連接成功,connectedto 10.129.49.143:5555
5adb connect ip成功以后可以執(zhí)行原來usb連接時的所有命令
如adbinstall康吵,adblogcat等劈榨,下圖為項目測試時wifi連接android設備,在androidstudio環(huán)境晦嵌,查看實時log
AndroidDebug Bridge
我們一般簡稱為adb同辣,它是一個非常強大的命令行工具,通過adb工具耍铜,你能夠與你的android設備進行通信邑闺。adb是基于C/S模式的程序跌前,包含以下三個組件:
1)adb client(客戶端)
client是運行在PC端的棕兼,該組件發(fā)送命令,可以通過發(fā)出adb命令從命令行終端調用客戶端抵乓。每當我們發(fā)起一個adb命令的時候伴挚,就會開啟一個client程序。當然灾炭,當我們開啟DDMS或者ADT的時候茎芋,也會自動創(chuàng)建client。當我們開啟一個client的時候蜈出,它首先會去檢測后臺是否已經(jīng)有一個server程序在運行著田弥,否則會開啟一個adb-server進程。所有的client都是通過5037端口與adb-server進行通信的铡原。
2)adb daemon(adbd后臺程序)
Daemon偷厦,該組件作為一個后臺進程運行在模擬器/真實Android設備中,在設備上運行命令燕刻。daemon使用端口的范圍是5554-5585只泼,每個模擬器/設備連接到PC端時,總會開啟這樣一個后臺進程卵洗,并且為其分配了兩個連續(xù)的端口请唱,比如:
Emulator1, console: 5554
Emulator1, adb: 5555
因為每個設備都分一組兩個端口,所以adb連接手機的最大數(shù)量為16过蹂。
端口的作用十绑,在這兩個端口中,其中偶數(shù)端口是用于server與設備進行交互的酷勺,可以讓server直接從設備中讀取數(shù)據(jù)本橙,而奇數(shù)端口是用來與設備的adbd進行連接通信的。
3)adb server(服務器)
Server鸥印,該組件管理客戶端和后臺程序之間的通信勋功,作為一個后臺的程序運行在PC端坦报。當一個server開啟的時候,會自動綁定并且監(jiān)聽5037端口狂鞋,接收client通過該端口發(fā)送過來的命令片择。同時server還會對5555-5585間的奇數(shù)端口進行掃描,進行對已連接設備的定位骚揍。