一、調試環境:
- Android Debug Bridge version 1.0.40;
- Nexus6P平板(Android 8.0系統);
二、網絡ADB調試:
1. Android設備除了用有線usb進行ADB調試外,還可以在同一局域網通過網絡ADB連接,一般指令為 adb connect 192.168.2.36(此為當前Android設備網絡IP),默認監聽端口為5555,因此指令實際效果為 adb connect 192.168.2.36:5555,但是有的設備默認端口號並非5555,重新設置網絡監聽端口的方法如下:
方法1:通過usb線連接電腦跟安卓設備,輸入adb命令:adb tcpip 5555 ;該條命令是設置網絡adb監聽的端口,5555是默認,也可設置為其它的。(重啟失效)
方法2:使用文件管理器按照以下路徑打開文件:/system/build.prop,在該文件的最后添加以下內容:service.adb.tcp.port=5555 (重啟依然有效,可以有線或無線操作)
2、在設置好端口后就可輸入命令連接:adb connect 192.168.2.36:5555,后面的:5555可以不用輸入,例如我設置的:6666端口,則通過如下指令連接:
3、斷開連接的命令:adb disconnect 192.168.2.36:6666 (如果默認端口是:5555也不需要加),另外可以直接用 adb disconnect 斷開所有網絡連接的設備:
4、通過 adb devices ,可以看到當前設備的連接狀態:
5、通過 adb -s "設備號" shell 操作對應已連接的設備,例如:
adb -s 192.168.2.23:5555 shell "service call bluetooth_manager 8" #關閉藍牙
adb -s 192.168.2.23:5555 shell "service call bluetooth_manager 6" #打開藍牙
三、有線ADB端口被占用解決方法(如:127.0.0.1:5037):
方法1:殺掉占用5037端口的進程:
(1)首先打開cmd命令行窗口,查看占用端口的進程PID:
C:\Users\lxl>netstat -aon|findstr 5037 TCP 127.0.0.1:5037 0.0.0.0:0 LISTENING 18260 TCP 127.0.0.1:5037 127.0.0.1:58544 ESTABLISHED 18260 TCP 127.0.0.1:58544 127.0.0.1:5037 ESTABLISHED 6852
(2)通過PID查看所屬進程(以下是正常情況,異常的就不是adb,而是被其他進程占用):
C:\Users\lxl>tasklist /fi "PID eq 18260" 映像名稱 PID 會話名 會話# 內存使用 ========================= ======== ================ =========== ============ adb.exe 18260 Console 2 3,824 K
(3)殺死占用端口的進程:
C:\Users\lxl>taskkill /pid 18260 /f 成功: 已終止 PID 為 18260 的進程。
方法2:通過系統變量更改ADB默認端口:
(1)在系統變量中配置一個新的變量名:ANDROID_ADB_SERVER_PORT,變量值:18618(自定義,最大值為65535),如下圖所示:
(2) 重啟一下adb服務(adb kill-server & adb start-server),新開一個cmd窗口后可看到已更新為自定義端口:
-end-