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

Posted moying-wq

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android : 网络adb配置及有线端口占用解决方法相关的知识,希望对你有一定的参考价值。

一、调试环境:

  • 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 ,可以看到当前设备的连接状态:

    技术图片

 

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

一、调试环境:

  • 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:Userslxl>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:Userslxl>tasklist /fi "PID eq 18260"

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

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

C:Userslxl>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-

  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:Userslxl>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:Userslxl>tasklist /fi "PID eq 18260"

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

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

C:Userslxl>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-

 

以上是关于Android : 网络adb配置及有线端口占用解决方法的主要内容,如果未能解决你的问题,请参考以下文章

adb端口5037被占用怎么办

adb 5037端口被占用的两种解决办法

adb调试android设备 说的比较清楚的一篇文章

Android ADB 端口占用问题解决方案

android adb端口被占用问题

ADB网络调试和常见命令