有USB鏈接git
硬件狀態正常。github
包括 Android 設備處於正常開機狀態,USB 鏈接線和各類接口無缺。shell
Android 設備的開發者選項和 USB 調試模式已開啓。tcp
能夠到「設置」-「開發者選項」-「Android 調試」查看。spa
若是在設置裏找不到開發者選項,那須要經過一個彩蛋來讓它顯示出來:在「設置」-「關於手機」連續點擊「版本號」7 次。調試
設備驅動狀態正常。rest
這一點在 Linux 和 Mac OS X 下基本不用操心,在 Windows 下有可能遇到須要安裝驅動的狀況,確認這一點能夠右鍵「計算機」-「屬性」,到「設備管理器」裏查看相關設備上是否有黃色感嘆號或問號,若是沒有就說明驅動狀態已經好了。不然能夠下載一個手機助手類程序來安裝驅動先。code
以上3點都確保OK後,執行命令server
adb devices # 看到xxxxxx device即表示鏈接成功
無線鏈接 —— 經過IPblog
操做步驟:
將 Android 設備與要運行 adb 的電腦鏈接到同一個局域網,好比連到同一個 WiFi。
將設備與電腦經過 USB 線鏈接,可經過命令 adb devices 查看是否鏈接成功
讓設備在 5555 端口監聽 TCP/IP 鏈接:
adb tcpip 5555
斷開 USB 鏈接。
找到設備的 IP 地址。
通常能在「設置」-「關於手機」-「狀態信息」-「IP地址」找到,也可使用命令查看
adb shell ifconfig | grep Mask # 或 adb shell ifconfig wlan0 ''' 下面的inet addr就是IP地址 wlan0 Link encap:Ethernet HWaddr xx:xx:xx:xx:xx:xx inet addr:172.30.96.xx Bcast:172.30.111.xx Mask:255.255.240.xx inet6 addr: xx::xx:xx:xx:xx/xx Scope: Link UP BROADCAST RUNNING MULTICAST MTU:xxx Metric:1 RX packets:xxx errors:0 dropped:xxx overruns:0 frame:0 TX packets:xxx errors:xx dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:xxx RX bytes:xxx TX bytes:xxx '''
經過 IP 地址鏈接設備。
adb connect <device-ip-address> # <device-ip-address> 就是上一步中找到的設備 IP 地址。
確認鏈接狀態。
adb devices # <device-ip-address>:5555 device說明鏈接成功。
若是鏈接不了,請確認 Android 設備與電腦是鏈接到了同一個 WiFi,而後再次執行第6步;若是仍是不行的話,經過 adb kill-server 從新啓動 adb 而後從頭再來一次試試。
斷開無線鏈接
adb disconnect <device-ip-address>
無線鏈接 —— 須要root
利用IP地址進行的無線鏈接是官方文檔裏介紹的方法,須要藉助於 USB 數據線來實現無線鏈接。root 帳戶能夠完成真正意義上的無線鏈接
在 Android 設備上安裝一個終端模擬器。
已經安裝過的設備能夠跳過此步。終端模擬器下載地址是:Terminal Emulator for Android Downloads
將 Android 設備與要運行 adb 的電腦鏈接到同一個局域網,好比連到同一個 WiFi。
打開 Android 設備上的終端模擬器,在裏面依次運行命令:
su
setprop service.adb.tcp.port 5555
找到 Android 設備的 IP 地址。
同上
在電腦上經過 adb 和 IP 地址鏈接 Android 設備。
adb connect <device-ip-address> # 看到 connected to <device-ip-address>:5555 這樣的輸出則表示鏈接成功
注:有的設備,好比小米 5S + MIUI 8.0 + Android 6.0.1 MXB48T,可能在第 5 步以前須要重啓 adbd 服務,在設備的終端模擬器上運行:
restart adbd # 若是 restart 無效,嘗試如下命令: stop adbd start adbd
查詢已鏈接的設備
adb devices '''
輸出格式 [serialNumber] [state]
輸出示例 List of devices attached cf264b8f device emulator-5554 device 10.129.164.6:5555 device '''
輸出格式中的state有三種可能:
offline —— 表示設備未鏈接成功或無響應。
device —— 設備已鏈接。注意這個狀態並不能標識 Android 系統已經徹底啓動和可操做,在設備啓動過程當中設備實例就可鏈接到 adb,但啓動完畢後系統才處於可操做狀態。
no device —— 沒有設備/模擬器鏈接。
以上輸出顯示當前已經鏈接了三臺設備/模擬器,cf264b8f、emulator-5554 和 10.129.164.6:5555 是它們各自的 SN。從 emulator-5554 這個名字能夠看出它是一個 Android 模擬器,而 10.129.164.6:5555 這種形爲 <IP>:<Port> 的 serialNumber 通常是無線鏈接的設備或 Genymotion 等第三方 Android 模擬器。