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

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


当前回答

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

感谢您的阅读

其他回答

正如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,它将自动设置您的手机。

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

使用adbwireless应用程序启用手机,然后使用Windows机器上的adb connect与手机通话。手机上的adbwireless应用程序告诉如何连接手机,并提供IP地址和所有信息。

另一个不那么有趣的选择是通过USB连接,告诉手机通过adb-TCPIP 5555使用TCPIP,然后断开USB连接,然后使用adb-connect。这要困难得多,因为这样你必须自己计算手机的IP地址(adbwireless告诉你IP),你必须通过USB连接,你必须运行adb-tcpip(adbwireless也会解决这个问题)。

所以:在手机上安装adbwireless。使用它。这是可能的,我经常在Linux和Windows上使用它。

来自adb--帮助:

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

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

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

端口是5554。

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

对于Windows

USB访问一次

不需要根

将手机和电脑连接到热点,或从手机运行便携式热点并将电脑连接到该热点。

按照brian的指示获取手机的ip(如果你正在使用手机制作热点,则不需要)

adb shell ip -f inet addr show wlan0

打开记事本

写下这些

@echo off
cd C:\android\android-sdk\platform-tools
adb tcpip 5555
adb connect 192.168.43.1:5555

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

将ip更改为手机ip。

注意:上面给出的IP是android设备成为热点时的基本IP。如果您正在连接到wifi网络,并且设备的IP在每次连接到热点时都在不断变化,您可以通过在wifi设置中进行配置使其保持静态。谷歌搜索。

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

将其保存在某个位置,并指向“桌面”或“开始”按钮的快捷方式。

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

注意:有时您需要在每次调试应用程序时打开快捷方式。所以在桌面上为快捷键设置快捷键会更方便。我做了一个快捷键,如Ctrl+Alt+S。所以每当我想调试时,我都会按Shift+F9和Ctrl+Alt+S

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

我确实做到了。没有使用任何usb电缆。

应用程序adb无线。运行它。这将设置ip和端口;然后在dos中cd C:\Program Files\Android\Android-sdk\platform tools adb connect“192.168.2.22:8000”enter“

有联系的。