Android : 网络adb配置及有线端口占用解决方法

时间:2021-08-15 08:01:53

一、调试环境:

  • 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端口,则通过如下指令连接:

    Android : 网络adb配置及有线端口占用解决方法

  3、断开连接的命令:adb disconnect 192.168.2.36:6666 (如果默认端口是:5555也不需要加),另外可以直接用 adb disconnect 断开所有网络连接的设备

    Android : 网络adb配置及有线端口占用解决方法

  4、通过 adb devices ,可以看到当前设备的连接状态:

    Android : 网络adb配置及有线端口占用解决方法

  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"  #打开蓝牙

    Android : 网络adb配置及有线端口占用解决方法

  

三、有线ADB端口被占用解决方法(如:127.0.0.1:5037)
 
  方法1:杀掉占用5037端口的进程:

  (1)首先打开cmd命令行窗口,查看占用端口的进程PID:

C:\Users\lxl>netstat -aon|findstr
TCP 127.0.0.1: 0.0.0.0: LISTENING
TCP 127.0.0.1: 127.0.0.1: ESTABLISHED
TCP 127.0.0.1: 127.0.0.1: ESTABLISHED

  (2)通过PID查看所属进程(以下是正常情况,异常的就不是adb,而是被其他进程占用):

C:\Users\lxl>tasklist /fi "PID eq 18260"

映像名称                       PID 会话名              会话#       内存使用
========================= ======== ================ =========== ============
adb.exe Console , K

  (3)杀死占用端口的进程:

C:\Users\lxl>taskkill /pid  /f
成功: 已终止 PID 为 的进程。

  方法2:通过系统变量更改ADB默认端口:
  (1)在系统变量中配置一个新的变量名:ANDROID_ADB_SERVER_PORT,变量值:18618(自定义,最大值为65535),如下图所示:

     Android : 网络adb配置及有线端口占用解决方法

  (2) 重启一下adb服务(adb kill-server & adb start-server),新开一个cmd窗口后可看到已更新为自定义端口:

      Android : 网络adb配置及有线端口占用解决方法

  -end-