如何使用ADB over TCP连接到Android?

我正在尝试在摩托罗拉Droid上调试应用程序,但通过USB连接到设备时遇到一些困难。我的开发服务器是在hyper-v中运行的Windows 7 64位VM,因此我无法通过来宾中的USB直接连接或从主机连接。

我安装了几个不同的USB-over-TCP解决方案,但是连接似乎有问题,因为亚行监视器反复报告“devicemonitor未能启动监控”。是否有办法使用网络而不是USB连接或其他可行选项从开发机器上的客户端直接连接到设备上的守护程序?

1475168 次浏览

adb --help

connect <host>:<port>         - Connect to a device via TCP/IP

顺便说一下,这是一个命令行选项。

您应该尝试将手机连接到您的Wi-Fi,然后从您的路由器获取其IP地址。它在蜂窝网络上不起作用。

端口是5554。

在最终放弃了通过TCP直接连接到设备的可能性之后,我最终让Eltima USB到以太网软件正常工作。我几乎已经决定,仅通过模拟器无法连接到网络上的设备。

我不知道如何在没有任何USB连接的情况下连接设备,但如果您设法连接它,也许在另一台计算机上,您可以通过发出命令将adbd切换到TCP模式

adb tcpip <port>

从终端并通过wifi从网络上的任何PC连接到您的设备:

adb connect <ip>:<port>

也许也可以从设备上的终端切换到TCP模式。

手动流程

从您的设备,如果它是根

根据关于xda开发者的帖子,您可以使用以下命令从设备通过Wi-Fi启用ADB:

susetprop service.adb.tcp.port 5555stop adbdstart adbd

您可以禁用它并将ADB返回到USB监听

setprop service.adb.tcp.port -1stop adbdstart adbd

从计算机,如果您已经有USB访问权限(不需要root)

如果您已经有USB,则更容易切换到使用Wi-Fi。从通过USB连接设备的计算机上的命令行,发出命令

adb tcpip 5555adb connect 192.168.0.101:5555

请务必将192.168.0.101替换为实际分配给您设备的IP地址。完成后,您可以通过运行以下命令断开与adb tcp会话的连接:

adb disconnect 192.168.0.101:5555

您可以通过两种方式找到平板电脑的IP地址:

手动IP发现:

进入Android的WiFi设置,单击操作栏中的菜单按钮(垂直省略号),点击高级并在屏幕底部看到IP地址。

使用ADB发现IP:

通过adb执行以下命令:

adb shell ip -f inet addr show wlan0

告诉ADB守护程序返回通过USB监听

adb usb

自动化流程的应用程序

Google Play上还有几个应用程序可以自动执行此过程。快速搜索建议adbWirelessWiFi ADBADB wifi。所有这些都需要root访问权限,但adbWireless需要更少的权限。

这是非常简单的,如果你的手机是根深蒂固的。

googleplay下载终端模拟器(有很多是免费的)。确保您的Android设备已连接到您的Wi-Fi并获取wi-fi IP地址。打开终端程序并输入:

susetprop service.adb.tcp.port 5555stop adbdstart adbd

现在转到您的计算机(假设您使用的是Windows)并在桌面上创建“cmd.exe”的快捷方式(不带引号)。

右键单击cmd快捷方式并选择"Run as Administrator"

更改到您的android-sdk-windows\tools文件夹

类型:

adb connect ***wifi.ip.address***:5555
(example: adb connect 192.168.0.105:5555)

亚行现在应该说你是有联系的。

备注:如果你太快而无法发出连接命令,它可能会失败。所以在你说这不起作用之前,至少尝试两次间隔五秒。

adb tcpip 5555

奇怪,但这只适用于我,如果我有USB电缆连接,然后我可以拔掉USB插头,并与其他一切亚行。

回到usb时也是如此,

adb usb

将只工作,如果USB连接。

不管我是否发出

setprop service.adb.tcp.port 5555

setprop service.adb.tcp.port -1

然后停止并启动ADBD,我仍然需要USB电缆,否则它不起作用。

所以,如果我的ADB over usb不起作用,我打赌我也无法通过WiFi启用ADB。

正如Brian所说:

根据xda开发者的帖子,您可以使用命令从设备启用ADB over WiFi

setpropservice.adb.tcp.port5555

停止adbd

启动adbd

您可以禁用它并将ADB返回到USB监听

setpropservice.adb.tcp.port-1

停止adbd

启动adbd

如果您已经有USB访问权限,则更容易切换到使用WiFi。从通过USB连接设备的计算机上的命令行,发出命令

adbtcpip5555

adb连接192.168.0.101:5555

告诉ADB守护程序返回通过USB监听

adbusb

Android Market上也有几个应用程序可以自动执行此过程。

它工作。您只需要访问android shell并键入这些命令……

另一个(更简单)的解决方案是在市场上:adbWireless,它会自动设置您的手机。

根是必需的!对于两者…

您也可以使用SSH本地端口转发。但它仍然涉及USB电缆。使用USB将您的手机连接到运行sshd的计算机(主机)。在远程(访客)PC上启动一个能够端口转发/隧道的SSH客户端。示例:

plink -L 5037:localhost:5037 <host_IP_address>

我使用此结构将我的设备连接到虚拟机。Eltima USB到以太网不够稳定(调试期间超时)。

SSH隧道工程是免费的,更可靠。

我确实让这个工作。没有使用任何USB电缆。

  • 应用程序adb无线。
  • 运行它。这将设置ip和端口;然后在dos中

    cd C:\Program Files\Android\android-sdk\platform-tools adb connect "192.168.2.22:8000 "enter"

Connected.

使用adb无线应用程序启用手机,然后使用Windows机器上的adb Connect与它通话。手机上的adb无线应用程序会告诉您如何连接到它,并提供IP地址和所有内容。

不那么有趣的替代方案是通过USB连接,通过adb tcpip 5555告诉手机使用TCPIP,然后断开USB连接,然后使用adb Connect。这要困难得多,因为这样你必须自己找出手机的IP地址(adb无线告诉你IP),你必须通过USB连接,你必须运行adb tcpip(adb无线也会处理这一点)。

所以:在你的手机上安装adb无线。使用它。这是可能的,我经常在Linux和Windows上这样做。

我需要让两者 USB和TCPIP为亚行工作(不要问),所以我做了以下工作(使用其他人从xda开发者发布的说明)

使用adb shell

su#Set the port number for adbdsetprop service.adb.tcp.port 5555
#Run the adbd daemon *again* instead of doing stop/start, so there#are two instances of adbd running.adbd &
#Set the port back to USB, so the next time ADB is started it's#on USB again.setprop service.adb.tcp.port -1
exit

我的系统是这样的:

在我的Android设备上的Linuxshell中,一个简单的“ifconfig”没有给我我的IP地址。我不得不输入:

ifconfig eth0

-or-

netcfg

获取我的IP地址。(我知道eth0已配置,因为我在我的dmesg中看到了它。)然后我执行了:

setpropservice.adb.tcp.port-1

停止adbd

启动adbd

然后在我的Win7盒子上(运行Eclipse 3.7.1的那个)。我打开了一个命令提示符

\android-sdk\平台-工具>

没有以管理员的身份参选。然后我做了一个

adb连接12.345.678.90

我从来没有把端口。如果我做了一个

adbtcpip5555

它说它找不到设备,然后我的“adb设备”列表中没有出现任何内容。也就是说,只有当我不执行上面的tcpip命令时,它才有效。

我可以做一个“adb shell”并弄乱我的Android设备。但我的Android设备现在不会出现在我的Run->Run Configurations->Target选项卡中。另一方面,如果我将目标选项卡设置为自动。然后,当我通过Run->Run运行我的应用程序时,它确实会在我的Android设备上运行,即使我的Android设备甚至没有列为我的目标之一。

只需一个命令即可在TCP和USB模式之间切换,您可以将其添加到/init.rc

on property:service.adb.tcp.port=*restart adbd
on property:service.adb.tcp.enable=1setprop service.adb.tcp.port 5555
on property:service.adb.tcp.enable=0setprop service.adb.tcp.port -1

现在您可以使用属性service.adb.tcp.enable启用或禁用端口5555上的侦听。运行netstat以检查它是否正在侦听。如您所见,如果您确实希望手动更改service.adb.tcp.port,它也会触发。

我发现其他答案令人困惑。使用adbWireless要简单得多:

只需在手机上安装一个应用程序即可通过wifi切换调试,安装一个eclipse插件,您就完成了。

我整理了一个批处理文件,用于自动启用并通过TCP将ADB连接到通过USB连接的设备。有了它,您不必手动输入IP。

@echo offsetlocal
REM Use a default env variable to find adb if possibleif NOT "%AndroidSDK%" == "" set PATH=%PATH%;%AndroidSDK%\platform-tools
REM If off is first parameter then we turn off the tcp connection.if "%1%" == "off" goto off
REM Set varsset port=%1set int=%2if "%port%" == "" set port=5557if "%int%" == "" set int=wlan0
REM Enable TCPadb -d wait-for-device tcpip %port%
REM Get IP Address from deviceset shellCmd="ip addr show %int% | grep 'inet [0-9]{1,3}(\.[0-9]{1,3}){3}' -oE | grep '[0-9]{1,3}(\.[0-9]{1,3}){3}' -oE"for /f %%i in ('adb wait-for-device shell %shellCmd%') do set IP=%%i
REM Connect ADB to deviceadb connect %IP%:%port%
goto end
:failecho adbWifi [port] [interface]echo adbWifi offgoto end
:offadb wait-for-device usb
:end

使用TCP端口连接平板电脑。确保您的系统和设备连接到同一网络。

  1. 打开控制台cmd.exe
  2. 类型adb tcpip 5555
  3. 转到系统->开发选项->USB调试-->取消选中TCPIP连接
  4. 输入adb connect 192.168.1.2这是您的设备IP地址
  5. 连接到192.168.1.2

使用端口转发连接尝试进行端口转发,

亚行转发tcp:<PC port> tcp:<device port>

比如:

亚行转发tcp: 5555 tcp: 5555。

C:\用户\abc>adb转发tcp: 7612 tcp: 7612

C:\用户\abc>adb tcpip 7612在TCP模式下重新启动端口:7612

C:\用户\abc>adb连接10.0.0.1:7612

连接到10.0.0.1:7612

如果您收到消息错误:未找到设备,请将USB设备连接到系统,然后遵循相同的过程。
对于有根设备

setprop service.adb.tcp.port 5555stop adbdstart adbd

假设您将adb路径保存到Windows环境路径中

  1. 在Android中激活调试模式

  2. 通过USB连接到PC

  3. 打开命令提示符类型:adb tcpip 5555

  4. 断开平板电脑或智能手机与PC的连接

  5. 打开命令提示符类型:adb connect IPADDRESS(IPADDRESS是平板电脑或智能手机的DHCP/IP地址,您可以通过Wi-Fi找到->当前连接的网络)

现在在命令提示符下,您应该会看到这样的结果:连接到xxx.xxx.xxx.xxx:5555

我只是按照以下步骤,它开始工作,这样我就可以连接到我的Android设备。

第1步:在Android设备中打开终端窗口并执行以下命令。

  1. su--切换到超级用户。
  2. setpropservice.adb.tcp.port5555-指定tcp端口-5555是这里的端口号
  3. 停止adbd-停止adbb服务。
  4. start adbd-启动adbd服务。

第二步:通过ADB,执行bellow命令。(从配置ADB的路径开始)

ADB连接10.10.10.50:5555-这里10.10.10.50是Android设备的IP地址,5555是端口号。

以下是Brian使用蓝牙回答的扩展:

  1. 在Linux,使用Blueman通过蓝牙与您的设备共享PC互联网:

    $ sudo apt-get install blueman$ blueman-managerPair them: Search devices after enabling Bluetoothon your phone and making it visible$ blueman-servicesNetwork > [X] Network Access Point (NAP)Your Phone > Settings > Bluetooth > Paired Device > [X] Internet access
  2. Use the Bluetooth network for ADB commands:

    $ adb tcpip 5555$ adb connect $(adb shell ip -f inet addr show bt-pan | egrep -o '[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+' | head -n1):5555

Once done to return to USB mode:

$ adb disconnect$ adb usb

注:蓝牙3.0和4.0可以达到24 Mbit/s

步骤:

  1. su--切换到超级用户。
  2. setprop service.adb.tcp.port 5555-指定tcp端口-5555是这里的端口号
  3. stop adbd-停止adbd服务。
  4. start adbd-启动adbd服务。

这与我的Windows PC上的ssh完美配合

我尝试在我的氰化物手机上启动时执行此操作或使用plink启动此操作。使用plink,我无法使用su right启动shell… sudo或su命令不起作用。在启动时,我不知道它是如何工作的!我的shell程序使用su -c "sh /storage/sdcard1/start_adb.sh"的ssh和最后3个命令(没有su--)

谢了

  1. 通过USB连接设备并确保调试正常,然后运行:

    adb tcpip 5555adb connect <DEVICE_IP_ADDRESS>:5555
  2. Disconnect USB and proceed with wireless debugging.

  3. When you're done and want to switch back to USB debugging, run:

    adb -s <DEVICE_IP_ADDRESS>:5555

To find the IP address of your device, go to Settings > Wi-Fi > Advanced > IP Address on your device or run adb shell netcfg.

No root required. Only one device can be debugged at a time.

See this XDA post.

The adb command is located in the platform-tools folder of the Android SDK.

我找到了一个方便的方法,我想分享。

对于windows

一次USB访问

不需要root

将您的手机和PC连接到热点或从手机运行便携式热点并将您的PC连接到它。

按照brian的规定获取手机的ip(如果您从手机制作热点,则不需要)

adb shell ip -f inet addr show wlan0

打开记事本

写这些

@echo offcd C:\android\android-sdk\platform-toolsadb tcpip 5555adb connect 192.168.43.1:5555

将上面给出的位置更改为您的PC包含abd.exe文件的位置

将IP更改为您的手机IP。

说明:上面给出的IP是android设备创建热点时的基本IP。如果您正在连接到wifi网络,并且每次连接到热点时设备的IP都在不断变化,您可以通过在wifi设置中配置来使其保持静态。谷歌它。

现在将文件保存为ABD_Connect.bat(MS-DOS批处理文件)。

将其保存在某处并引用桌面或开始按钮的快捷方式。

通过USB连接一次,然后尝试运行一些应用程序。之后,每当您想无线连接时,双击快捷方式。

说明:有时每次调试应用程序时都需要打开快捷方式。所以在桌面中制作快捷方式的快捷键会更方便。我做了一个像Ctrl+Alt+S这样的快捷键。所以每当我想调试时,我会按Shift+F9Ctrl+Alt+S

说明:如果您在cmd窗口中发现设备=null错误,请检查您的IP,它可能已更改。

如果您想轻松连接您的设备以通过WiFi运行、调试或部署您的Android应用程序,您可以使用我开发的开源IntelliJ插件。这里是代码,这里是准备使用的插件。

用法很简单。这里有一个gif:

在此处输入图片描述

对于Windows用户:

步骤1:
您必须在Android手机中启用开发人员选项。
您可以使用这种方式启用开发人员选项。
•打开设置>关于>软件信息>更多。
•然后点击“版本号”七次以启用开发人员选项。
•返回设置菜单,现在您将能够在那里看到“开发人员选项”。•点击它并从下一个屏幕的菜单中打开USB调试。

步骤2:

打开cmd并键入adb。
如果您发现adb不是有效的命令,那么您必须为环境变量添加路径。

•先去你的SDK安装文件夹
沿着这条路走,这条路只是一个例子。D:\软件\开发\和其他\SDK\sdk\平台-工具\;D:\softwares\Development\以及其他\SDK\sdk\工具;
•现在搜索windows系统高级设置

输入图片描述

打开环境变量。

在此处输入图片描述

然后打开路径并粘贴以下路径这是一个例子。
你的SDK路径和我的不一样,请用你的。D:\softwares\Development\Andoirds\SDK\sdk\Platform-ols\;
D:\softwares\Development\以及其他\SDK\sdk\工具;

在此处输入图片描述

步骤3:

打开cmd并键入adb。如果您仍然看到adb不是有效命令,则您的路径未正确设置,请按照上述步骤操作。

在此处输入图片描述

现在你可以将您的Android手机连接到PC。

打开cmd并键入adb设备,您可以看到您的设备。找到你的手机IP地址。

在此处输入图片描述

类型:-adb tcpip 5555

在此处输入图片描述

获取您手机的IP地址

adb shell netcfg

现在,

adb connect "IP address of your phone"

现在运行您的Android项目,如果没有看到您的设备,然后再次键入您手机的adb连接IP地址

在此处输入图片描述

在此处输入图片描述

Linux和macOS用户

步骤1:打开终端并安装adb

sudo apt-get install android-tools-adb下载安装工具安装成功

通过USB电缆将手机连接到PC。在终端

中键入以下命令
adb tcpip 5555

使用adb,连接您的android手机ip地址。

拿掉你的手机。

adb可以通过tcp套接字与adb服务器通信。您可以通过telnet验证这一点。

$ telnet 127.0.0.1 5037Trying 127.0.0.1...Connected to localhost.Escape character is '^]'.000chost:versionOKAY00040020

通常,命令的格式为%04x%s with <message.length><msg>下面是ruby命令,女巫向tcp套接字socket发送adb命令cmd

def send_to_adb(socket, cmd)socket.printf("%04x%s", cmd.length, cmd)end

第一个示例发送命令host:version,长度为12(十六进制中的000c)。您可以享受更令人兴奋的命令,如framebuffer:,它从帧缓冲区中截取屏幕截图,因为您可以从其名称中猜测。

步骤1。

确保两者您的adb主机和Android设备在同一个Wifi网络上。

步骤2。

使用USB电缆将Android设备与计算机连接。一旦您这样做,您的主机将检测到您的设备,adb将开始在计算机上的USB模式下运行。您可以使用adb devices检查连接的设备,而通过执行adb usb确保adb在USB模式下运行。

$ adb usbrestarting in USB mode$ adb devicesList of devices attachedZX1D63HX9R  device


步骤3。

使用以下命令在tcpip模式下重新启动adb:

$ adb tcpip 5556restarting in TCP mode port: 5556


步骤4。

找出Android设备的IP地址。有几种方法可以做到这一点:

  • 方式:1转到设置->关于手机/平板电脑->状态->IP地址。
  • 方式:2转到可用的Wi-Fi网络列表。您连接的网络,点击它并了解您的IP。
  • 方式:3尝试$ adb shell netcfg

现在您知道了设备的IP地址,请将您的adb主机连接到它。

$ adb connect 192.168.0.102:5556already connected to 192.168.0.102:5556$ adb devicesList of devices attachedZX1D63HX9R  device192.168.0.102:5556  device


步骤5。

取下USB电缆,您应该已经连接到您的设备。如果您在adb devices中没有看到它,那么只需使用上一步的命令重新连接:

$ adb connect 192.168.0.102:5556connected to 192.168.0.102:5556$ adb devicesList of devices attached192.168.0.102:5556  device

要么你现在就可以走了,要么你需要通过执行adb kill-server来杀死你的adb服务器,然后再次完成所有步骤。

希望有帮助!


参考:

一个额外的注意事项(学会了艰难的方式):您不应该让您的公司VPN连接同时处于活动状态……

你需要做以下事情:

  • 首先,将ADB添加到您的环境路径。
  • 从您的CLI键入此命令亚行连接YOUR_DEVICE_IP:PORT_NUMBER(示例adb连接192.168.100.100:5555

首先,您必须通过USB连接您的设备

然后将您的设备连接到WIFI并获取IP地址。虽然仍然通过usb连接,但在命令行中输入this或通过Android Studio终端

adb tcpip 5555adb connect <device IP>:5555

您将看到这些消息:

restarting in TCP mode port: 5555connected to 172.11.0.16:5555

现在删除USB电缆,您仍然会看到您的logcat正常

成交好好享受

如果你想能够在一个按钮点击然后做到这一点:

  1. 在Android Studio中->设置/首选项->插件->浏览存储库
  2. 搜索“ADB wifi”
  3. 安装并重新启动Android Studio
  4. 使用USB将您的设备(启用USB调试)连接到您的计算机(每个会话只需执行一次)
  5. 工具->Android->ADB WIFI->ADB USB转WIFI(或使用提到的组合键。对于MacOS:ctrl+Shift+w)

注意:如果它不起作用:

  1. 您的wifi路由器防火墙可能阻止了连接。
  2. 您的计算机上可能没有安装ABD。

从非root设备上的计算机

(请注意,这也可以使用root设备完成,但您可以在不需要USB连接的root设备上使用shell)

首先,打开命令提示符(CMD)。如果您使用Android Studio或IntelliJ,则可以使用其中包含的控制台。

如果您已将adb添加到路径中,则可以跳过cd部分。


如果可能,打开SDK位置,右键单击,然后按“在此处启动命令提示符”。并非所有人都有此选项,因此您还必须执行此(/这些)命令:

Windows:更改驱动器(如果适用)

D:

并访问sdk和平台工具。将此路径替换为您的SDK位置:

cd /sdk/path/here/platform-tools

现在您可以访问Android调试桥。


将设备连接到计算机后,执行以下操作:

adb tcpip <port>adb connect <ip>:<port>

其中<port>是您要连接的端口(默认为5555),<ip>是您要连接的设备的IP。

请注意:5555是默认端口,只需写入IP地址即可连接它。如果您使用自定义端口,您至少可以提高安全性。通过Wi-Fi进行USB调试可能会被滥用,但前提是设备连接到想要滥用设备的计算机。使用非默认端口至少会使连接变得更加困难。

如果您使用自定义端口,请确保将其添加到IP之后。写入没有端口连接到5555,如果您没有使用该端口,连接将失败。

您可以通过两种方式找到设备的IP地址:

  • 根据您的设备,确切的名称可能会有所不同。打开设置并转到关于设备->状态->IP地址

  • 使用亚行获取IP

从控制台,执行:

adb shell ip -f inet addr show wlan0

完成连接后,您可以通过以下操作断开设备与计算机的连接:

adb disconnect <ip>:<port>

或者没有IP来断开所有设备。如果您使用自定义端口,则为必须指定要断开连接的端口。此处的默认值也是5555。

要禁用端口(如果您想这样做),请在连接的设备上执行以下命令:

adb usb

或者您可以重新启动设备以删除tcpip连接

从一个有根设备上的计算机

首先,您需要访问shell。您可以使用USB电缆连接设备并使用adb shell或从Google Play、FDroid或其他来源下载应用程序。

然后你做:

susetprop service.adb.tcp.port <port>stop adbdstart adbd

要连接设备,您可以通过执行adb connect <ip>:<port>来执行非root版本中的操作。

如果您想禁用端口并返回USB侦听:

setprop service.adb.tcp.port -1stop adbdstart adbd

您还可以使用Android Studio插件为您执行此操作(现在不记得名称),对于root用户,还可以选择下载Android应用程序来设置电话连接(可能仍然需要adb连接)。

有些手机在开发者选项中有一个设置(这适用于一些无根手机,尽管可能还有一些越狱机),允许从设备本身通过Wi-Fi切换ADB,而无需root或计算机连接来启动它。虽然很少有手机有这样的功能

Bash util函数:

function adb-connect-to-wifi {ip="$(adb shell ip route | awk '{print $9}')"port=5555adb tcpip ${port}adb connect ${ip}:${port}}

有两种方法可以通过TCP将您的Android设备与ADB连接?

第一种方法

按照此步骤

首先使用以下命令获取您的设备IP地址

adb shell ifconfig

上述命令的输出

wlan0     Link encap:UNSPEC    Driver icnssinet addr:XXX.XXX.X.XX  Bcast:XXX.XXX.X.XXX

在上面命令的帮助下,您将找到连接设备的IP地址

现在使用下面的命令

adb tcpip 5555

上面的命令将重新启动此TCP端口:5555

现在使用下面的命令连接您的设备

adb connect XXX.XXX.X.XXX:5555^^^ ^^^ ^ ^^^IP Address of device

第二种方式

您可以使用Android Studio插件Android device with ADB

Android WiFi ADB-IntelliJ/Android Studio插件

IntelliJ和Android Studio插件旨在通过WiFi快速连接您的Android设备,以便在没有USB连接的情况下安装、运行和调试您的应用程序。按下一个按钮,忘记您的USB电缆

请查看此文章以获取更多信息

Android Studio中的WiFi连接Android设备

以防万一它对任何人都有帮助,我已经编写了一个. bat文件来为我完成这项工作。

我正在使用Visual Studio/Xamarin-只需将手机连接到USB,运行批处理文件,选择“C”进行连接,完成后,将手机与USB电缆断开连接。您将从那里通过Wifi连接。

注意:将脚本中的目录更改为PC上存在adb.exe的任何位置,并编辑手机的IP地址。

@echo offclsc:cd\cd C:\Program Files (x86)\Android\android-sdk\platform-tools\
:choiceset /P c=Do you want to connect or disconnect[C/D]?if /I "%c%" EQU "C" goto :connectif /I "%c%" EQU "D" goto :disconnectgoto :choice

:connectecho plug phone in via USB. Make sure emulator is switched offpauseadb tcpip 5555adb connect 192.168.0.32:5555echo finished - unplug USBpauseexit
:disconnectadb usbecho finished - ADB is reset to USB modepause

希望它能帮助别人!

我也有同样的问题,但是一个简单的黑客adb reverse tcp:<PORT> tcp:<PORT>为我工作。它允许系统接受tcp请求。

感谢您的阅读

这些是我遵循的步骤,它对我有效,

  1. adb shell ifconfig(从这里获取设备的IP地址)

  2. adb tcpip 7777(将adb连接到某个端口)

  3. adb连接"ip地址": 7777

这是Mac/Linux通过Wi-Fi连接到Android设备的一行代码,但首先您必须通过USB连接到设备。

# sleep 5 is to wait for the device to restart listening.adb kill-server && adb tcpip 5555 && sleep 5 && adb shell ip route | awk '{print $9}' | xargs adb connect