一、准備工作
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.如果還不行的話,那就重啟手機、重啟電腦。