天天看點

全程不用usb資料線,adb通過網絡連接配接Android裝置

這兩天又碰上了一個Android機器,主機闆沒有一般USB和Type-C接口,隻有一個網口,要進行應用調試, 隻能通過網絡連接配接adb。 搜尋了一下, 關于通過adb進行網絡調試的主題文章真多, 我這裡就總結一下;

一. adb通過網絡調試Android裝置的原理

ADB(Android Debug Bridge), 簡稱安卓調試橋,它主要包含三部分,服務端(PC),用戶端(Android裝置),adbd(Android系統中運作的服務)。

服務端與裝置端聯系有兩種常見的方法,一種是USB,另一種就是TCP/IP網絡;

我們常說的adb調試裝置,其實就是服務端通過USB或者TCP/IP連接配接裝置端運作的adbd服務,進而對裝置端進行控制。

二.全程不用usb資料線,adb通過網絡調試

按照上述的基本原理, 我們在Android裝置中通過U盤等方法安裝一個超級終端, 下載下傳網址http://os-android.liqucn.com/rj/84712.shtml 或者我上傳的https://download.csdn.net/download/limin13215/10677131(這個資源分不知道為啥不能設為0)。

首先保證Android裝置和PC端在同一個區域網路時,再進行以下操作。

Android端:

終端中輸入一下指令:

su
setprop service.adb.tcp.port  5555
stop adbd
start adbd
           

如果以上順利執行,在PC 端cmd中輸入指令:

adb connect Android裝置的IP位址
           

如果成功,會提示“ connected to 192.168.*.*:5555 ”;

就是這麼簡單,完全沒有用到USB資料線。

如果你能對/system/build.prop進行重寫,直接将"service.adb.tcp.port=5555"寫入,重新開機機器,以後你就可以直接在PC端就可以連接配接了,Android端不必做上述提到的指令操作;

三. Android端操作指令封裝成apk

看看上面對Android端操作的好幾個指令,想想如果每次都要這麼輸入,太麻煩。是以網上有很多封裝了這些指令的apk,因為系統原因,可能有的沒有效果。原因有一下幾點:

  1. 系統沒有root,執行不了“ su ”指令,提示“must be root”
  2. 系統沒有啟動adbd服務
  3. 因為網絡不通的關系
其實,如果通過第二步adb能夠網絡調試了,恰好,系統能讓你修改/system/build.prop檔案,你完全可以把

setprop service.adb.tcp.port 5555

這條指令寫進build.prop檔案,重新開機以後,你就可以直接在PC端輸入指令就可以連接配接了,而不用再Android端輸入這麼多指令。

繼續接着說,其實,你再網上看到的下載下傳的所謂無線調試工具apk, 都是從下面這個經典的Github稍加改編而編譯出來的應用程式:

https://github.com/slightlywobbly/adbwireless

趕緊去clone,編譯調試源碼吧 。

四.如果裝置可以通過USB資料線連接配接PC,那Android系統有沒有root都可以進行網絡調試

  1. 連上USB資料線後, 隻需在PC端cmd進行以下指令操作:
adb tcpip 5555 //預設是5555,如果裝置系統指定了其他端口号, 改成指定端口号
adb connect Android裝置的IP位址
           
  1. 然後端開USB資料線.
  2. 再次執行連接配接操作:
adb connect Android裝置的IP位址
           
Andoird裝置的IP位址,可以通過adb指令查詢:
adb shell ip -f inet addr show wlan0