註冊 登錄
Android 台灣中文網 返回首頁

jianrupan的個人空間 https://apk.tw/?1180935 [收藏] [複製] [分享] [RSS]

日誌

透過 網路 使用 ADB 工具 監控 裝置

已有 1888 次閱讀2017-7-5 10:45 |個人分類:軟體應用| 透過, 網路, 使用, 工具, 監控

ADB 功能簡介:
ADB 全稱Android Debug Bridge, 是android sdk裡的一個工具, 用這個工具可以直接操作管理android模擬器或者真實的 andriod 設備。

操作功能說明:
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 程式內 開機程序直接執行
// 啟動 ADB 網路 控制 5555 port
private void startADBTCPIPPort()
{
List<String> commands = new ArrayList<String>();
commands.add("setprop service.adb.tcp.port 5555");
commands.add("stop adbd");
commands.add("start adbd");
ShellUtils.execCommand(commands, true);  --> 至於 直接 執行 Shell 方式 請自行完成囉
}


路過

雞蛋

鮮花

握手

雷人

評論 (0 個評論)

facelist

您需要登錄後才可以評論 登錄 | 註冊