ADB——連接手機的三種方式


 

有USB連接

  1. 硬件狀態正常。

    包括 Android 設備處於正常開機狀態,USB 連接線和各種接口完好。

  2. Android 設備的開發者選項和 USB 調試模式已開啟。

    可以到「設置」-「開發者選項」-「Android 調試」查看。

    如果在設置里找不到開發者選項,那需要通過一個彩蛋來讓它顯示出來:在「設置」-「關於手機」連續點擊「版本號」7 次。

  3. 設備驅動狀態正常。

    這一點在 Linux 和 Mac OS X 下基本不用操心,在 Windows 下有可能遇到需要安裝驅動的情況,確認這一點可以右鍵「計算機」-「屬性」,到「設備管理器」里查看相關設備上是否有黃色感嘆號或問號,如果沒有就說明驅動狀態已經好了。否則可以下載一個手機助手類程序來安裝驅動先。

以上3點都確保OK后,執行命令

adb devices # 看到xxxxxx device即表示連接成功

 

無線連接 —— 通過IP

操作步驟:

  1. 將 Android 設備與要運行 adb 的電腦連接到同一個局域網,比如連到同一個 WiFi。

  2. 將設備與電腦通過 USB 線連接,可通過命令 adb devices 查看是否連接成功

  3. 讓設備在 5555 端口監聽 TCP/IP 連接:

    adb tcpip 5555
  4. 斷開 USB 連接。

  5. 找到設備的 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
    '''
  6. 通過 IP 地址連接設備。

    adb connect <device-ip-address> # <device-ip-address> 就是上一步中找到的設備 IP 地址。
  7. 確認連接狀態。

    adb devices # <device-ip-address>:5555 device說明連接成功。

 

  如果連接不了,請確認 Android 設備與電腦是連接到了同一個 WiFi,然后再次執行第6步;如果還是不行的話,通過 adb kill-server 重新啟動 adb 然后從頭再來一次試試。

斷開無線連接

adb disconnect <device-ip-address>
 
         

無線連接 —— 需要root

  利用IP地址進行的無線連接是官方文檔里介紹的方法,需要借助於 USB 數據線來實現無線連接。root 賬戶可以完成真正意義上的無線連接

  1. 在 Android 設備上安裝一個終端模擬器。

    已經安裝過的設備可以跳過此步。終端模擬器下載地址是:Terminal Emulator for Android Downloads

  2. 將 Android 設備與要運行 adb 的電腦連接到同一個局域網,比如連到同一個 WiFi。

  3. 打開 Android 設備上的終端模擬器,在里面依次運行命令:

    su
    setprop service.adb.tcp.port 5555
  4. 找到 Android 設備的 IP 地址。

    同上

  5. 在電腦上通過 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 —— 沒有設備/模擬器連接。

以上輸出顯示當前已經連接了三台設備/模擬器,cf264b8femulator-555410.129.164.6:5555 是它們各自的 SN。從 emulator-5554 這個名字可以看出它是一個 Android 模擬器,而 10.129.164.6:5555 這種形為 <IP>:<Port> 的 serialNumber 一般是無線連接的設備或 Genymotion 等第三方 Android 模擬器。

 

 

 

 

      

 


免責聲明!

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



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