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

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


当前回答

通过USB连接设备并确保调试正常,然后运行:adb tcpip 5555adb connect<DEVICE_IP_ADRESS>:5555断开USB并继续进行无线调试。完成并想切换回USB调试后,运行:adb-s<设备_IP_ADDRESS>:5555

要查找设备的IP地址,请转到设备上的“设置”>“Wi-Fi”>“高级”>“IP地址”,或运行adb shell netcfg。

不需要根。一次只能调试一个设备。

请参阅此XDA帖子。

adb命令位于Android SDK的平台工具文件夹中。

其他回答

来自adb--帮助:

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

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

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

端口是5554。

如果你的手机是根,这真的很简单。

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

su
setprop service.adb.tcp.port 5555
stop adbd
start adbd

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

右键单击cmd快捷方式并选择“以管理员身份运行”

更改到android sdk windows\tools文件夹

类型:

adb connect ***wifi.ip.address***:5555

(example: adb connect 192.168.0.105:5555)

adb现在应该说您已连接。

注意:如果速度太快,无法发出connect命令,则可能会失败。所以,在你说这不起作用之前,至少间隔5秒试两次。

我在同一个问题上是结构化的,但一个简单的破解adb反向tcp:<PORT>tcp:<PORT>对我有效。它允许系统接受tcp请求。

感谢您的阅读

通过USB连接设备并确保调试正常,然后运行:adb tcpip 5555adb connect<DEVICE_IP_ADRESS>:5555断开USB并继续进行无线调试。完成并想切换回USB调试后,运行:adb-s<设备_IP_ADDRESS>:5555

要查找设备的IP地址,请转到设备上的“设置”>“Wi-Fi”>“高级”>“IP地址”,或运行adb shell netcfg。

不需要根。一次只能调试一个设备。

请参阅此XDA帖子。

adb命令位于Android SDK的平台工具文件夹中。

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