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

我安装了两种不同的USB over TCP解决方案,但连接似乎有问题,因为ADB监视器反复报告“devicemonitor failed to start monitoring”。是否有一种方法可以直接从开发机器上的客户端连接到设备上的守护程序,使用网络而不是USB连接或其他可行的选项?


当前回答

这是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

其他回答

您还可以使用SSH本地端口转发。但它仍然需要USB电缆。使用USB将手机连接到运行sshd的计算机(主机)。在远程(来宾)pc上启动能够端口转发/隧道的SSH客户端。例子:

plink -L 5037:localhost:5037 <host_IP_address>

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

SSH隧道免费工作,更可靠。

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

然后将设备连接到WIFI并获取IP地址。当仍然通过usb连接时,在命令行或通过Android Studio终端键入

adb tcpip 5555
adb connect <device IP>:5555

您将看到以下消息:

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

现在卸下USB电缆,您仍会看到logcat正常

完成。享受

Bash util函数:

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

正如Brian所说:

根据xda开发人员的一篇帖子,您可以使用以下命令在设备上通过WiFi启用ADBsetprop服务.adb.tcp.port 5555停止adbd启动adbd您可以禁用它,并使用setprop服务.adb.tcp.port-1停止adbd启动adbd如果你已经有USB连接,那么切换到使用WiFi就更容易了。通过USB连接设备的计算机上的命令行发出命令adb tcpip 5555adb连接192.168.0.101:5555告诉ADB守护程序返回USB监听adb-usb接口Android市场上也有几个应用程序可以自动完成这一过程。

它可以工作。你只需要访问android shell并键入这些命令。。。

市场上还有一种(更简单的)解决方案:adbWireless,它将自动设置您的手机。

根是必需的!对于两者。。。

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

第一种方式

遵循以下步骤

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

adb shell ifconfig

以上命令的OUTPUT

wlan0     Link encap:UNSPEC    Driver icnss
          inet 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

第二种方式

你可以在ADB中使用Android Studio插件Android设备

Android WiFi ADB-IntelliJ/Android Studio插件

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

请查看本文了解更多信息

在Android Studio中连接Android设备与Wifi