networking:
connect HOST[:PORT] connect to a device via TCP/IP [default port=5555]
執行指令使用:
adb connect 192.168.2.133
或
adb connect 192.168.2.133:5555
遇到問題:
unable to connect to 192.168.2.160:5555: cannot connect to 192.168.2.160:5555: 無法連線,因為目標電腦拒絕連線。 (10061)
接上 USB Debug 線,進入機器內部查看網路狀態:
C:>adb devices --> 插入debug 線後 顯示 裝置
List of devices attached
20080411 device
C:>adb shell netstat --> 以 Shell 指令查詢目前 裝置網路狀態
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:8554 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:5037 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:38421 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:53 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:1690 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:38431 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:1923 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:1960 0.0.0.0:* LISTEN
....
發現 5555 Port 並沒有啟動。
先嘗試 其他 port 是否可用:
C:>adb connect 192.168.2.160:8554 --> 用 8554 連看看
connected to 192.168.2.160:8554
C:>adb devices
List of devices attached
192.168.2.160:8554 offline --> offline No Work
C:>adb shell --> 都已經跟你說 No Work 了 還硬要用嗎, 哈....
error: device offline
怎麼辦呢?? 只好直接啟動 5555 port 了。
方法有三種:
1.接上 Debug 線,直接啟動 5555 port,再以 網路方式 連接操作 --> 很無聊的舉動,多此一舉,而且每次開機都須重新執行一次。
2.將啟動方式 建於 開機程序,每次開機 就會自動 啟動 5555 port --> 聰明多了,但若要 所有裝置 都如此 須更新 IMAGE 檔,有點小風險。
3.運行的 APK 程式內 開機程序直接執行 啟動 5555 port --> 由 AP 來處理 風險少多了。
一一來介紹吧:
方法一:直接啟動
接上 Dubug 線,執行
C:>adb tcpip 5555
restarting in TCP mode port: 5555
C:>adb shell
root@android:/ # netstat | grep 5555 --> 找到 剛剛建的 5555 port 了
tcp 0 0 0.0.0.0:5555 0.0.0.0:* LISTEN
移除 Bebug 線,以 網路連接試試:
C:>adb connect 192.168.2.160
connected to 192.168.2.160:5555
C:>adb devices
List of devices attached
192.168.2.160:5555 device
C:>adb shell
root@android:/ # netstat | grep 5555 --> 已經與 我的 PC 192.168.2.96 連上了
tcp 0 0 0.0.0.0:5555 0.0.0.0:* LISTEN
tcp 51 0 192.168.2.160:5555 192.168.2.96:1283 ESTABLISHED
此時你的 Android 開發平台 也可以 看到該裝置。
方法二:將啟動方式 建於 開機程序
root@android:/ # cat /etc/install-recovery.sh --> 建一個 批次檔 於開機自動執行
#!/system/bin/sh
setprop service.adb.tcp.port 5555
stop adbd
start adbd
重新啟動裝置後就可以直接 使用了,貼心提醒 注意 該文件權限喔。
root@android:/ # ls -l /etc/install-recovery.sh
-rw-rw-rw- root root 74 2017-07-05 10:23 install-recovery.sh
root@android:/ # chmod 777 /etc/install-recovery.sh --> 確認權限可執行
root@android:/ # ls -l /etc/install-recovery.sh
-rwxrwxrwx root root 74 2017-07-05 10:23 install-recovery.sh
重啟裝置後直接執行:
C:>adb connect 192.168.2.160
connected to 192.168.2.160:5555
C:>adb shell
root@android:/ # netstat | grep 5555
tcp 0 0 0.0.0.0:5555 0.0.0.0:* LISTEN
tcp 0 0 192.168.2.160:5555 192.168.2.96:1683 ESTABLISHED
方法三:運行的 APK 程式內 開機程序直接執行