Appium appium 通過 adb 無線連接 Android 真機


一、准備工作

1、准備一台或多台Android設備(如小米,華為),開啟USB調試
2、Android設備與電腦(Mac或者Windows)在同一個局域網內
3、電腦安裝好ADB工具

二、具體步驟

1.使用數據線通過USB接口將手機與電腦連接,在終端中執行如下命令:

方法一USB數據線連接:adb devices 查看設備是否連接成功。

方法二通過無線局域網連接:adb tcpip 5555(PS:5555是連接時的默認端口號,可以設置為任何未占用的端口號)

返回restarting in TCP mode port: 5555則代表服務開啟成功,可以拔掉數據線斷開電腦和手機的連接。

2.找到手機的IP地址,執行連接命令:
一般在設置-關於手機-狀態信息-IP地址可以找到,或者執行命令:
adb shell ip -f inet addr show wlan0
找到我的手機IP10.0.1.121

 

abd connect 10.0.1.121:5555

返回connected to 10.0.1.121:5555代表連接成功
因為我們默認端口是5555,所以執行abd connect 10.0.1.121的時候相當於執行了abd connect 10.0.1.121:5555,如果adb tcpip連接的端口號不是5555時adb connect 時IP后需要需要加上端口號。
結果圖:

3.斷開連接,執行:adb disconnect

PS:如果手機wifi斷了,也會自動中斷連接,需要重新連接。

三.解決電腦和手機的連接問題

1、我們做APP自動化的時候,沒有必要每台設備都通過USB連接電腦了(畢竟USB端口有限,而且有些線用久了,接觸不良的說),只要知道無線連接的IP和端口10.0.1.121:5555
以python+appium腳本為例,我們的連接參數可以從

desired_caps={}
desired_caps['platformName']='Android'
desired_caps['deviceName'] = '58d1a05c'
desired_caps['platformVersion'] = '7.0'
desired_caps['appPackage'] = 'com.tencent.mm'
desired_caps['appActivity'] = '.ui.LauncherUI'
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)

改成

desired_caps={}
desired_caps['platformName']='Android'
desired_caps['deviceName'] = '10.0.1.121:5555:5555'
desired_caps['platformVersion'] = '7.0'
desired_caps['appPackage'] = 'com.tencent.mm'
desired_caps['appActivity'] = '.ui.LauncherUI'
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)

2、由於可以無線連接設備,在我們跑APP自動化腳本的時候還可以很好的監控設備運行過程中的電量消耗,因為連接USB時會自動充電,會導致電量計算不准確。

3、當我們需要調試自己手機時,但是手機又需要充電,明顯的USB充電很慢,這時我們可以adb無線連接調試。

4、擺脫束縛,調試的時候演示也沒必要帶着一堆線了,比如chrome的inspect,
chrome://inspect/#devices

3.1、連接多台設備

當我們連接着兩台設備時,執行
adb tcpip 5555

 

提示:error: more than one device/emulator
此時我們只需要給adb命令 加上-s參數,指定設備號即可,其他的操作基本都是一樣的了。
adb -s 50f98a9f tcpip 5555

 

3.2、關於真機設備連接識別問題

1.如果List of devices attached下方沒出現任何信息,就是手機沒連上電腦,或者電腦上沒安裝手機的驅動

C:\Users\admin>adb devices
List of devices attached

2.插拔usb數據線,電腦屏幕出現無法識別的usb設備,那就是手機驅動沒安裝好

3.3、一 安裝手機驅動

1.電腦下載一個手機助手類的管理工具,它會自動識別手機設備型號,安裝驅動

2.手機開啟開發者選項,在設置里面要是沒看到‘開發者選項’,打開關於手機-對着版本號連着點10次(有的機型點擊7次即可)就出來了

3.usb調試模式勾選

3.4、 沒授權(unauthorized)

出現unauthorized是因為手機沒授權給電腦連接,重新插拔數據線,勾選USB調試

C:\Users\admin>adb devices
List of devices attached A5RNW18316011440 unauthorized

1.手機重新連上電腦,插拔下數據線,勾選USB調試

2.USB連接方式選擇MTP

3.5、 adb端口沖突

1.如果出現adb server version (32) doesn't match this client (36),這個就是adb端口沖突,被其它應用占用了,比如(91助手,手機管家之類的)

C:\Users\admin>adb devices
List of devices attached adb server version (32) doesn't mat error: could not install *smartsock 通常每個套接字地址(協議/網絡地址/端 could not read ok from ADB Server * failed to start daemon * error: cannot connect to daemon

2.解決辦法:卸載91助手,手機管家之類的

3.6、 offline

1.輸入adb devices ,一直顯示設備處於offline狀態,先嘗試以下基本操作:

C:\Users\admin>adb devices
List of devices attached A5RNW18316011440 offline
  • 開啟usb調試模式
  • 關閉第三方手機助手軟件
  • 重啟adb服務

adb kill-server
adb start-server

2.查看adb版本號,是不是低了

adb -version

3.查看adb環境變量,是不是配置了多個adb

4.在手機設置中點擊撤銷USB調試授權,然后重新連接電腦,重新授權該電腦。

5.如果還不行的話,那就重啟手機、重啟電腦。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM