我正在尝试调试摩托罗拉Droid上的应用程序,但通过USB连接到设备时遇到一些困难。我的开发服务器是一个在Hyper-V中运行的Windows 7 64位虚拟机,因此我无法在来宾或主机中通过USB直接连接。
我安装了两种不同的USB over TCP解决方案,但连接似乎有问题,因为ADB监视器反复报告“devicemonitor failed to start monitoring”。是否有一种方法可以直接从开发机器上的客户端连接到设备上的守护程序,使用网络而不是USB连接或其他可行的选项?
我正在尝试调试摩托罗拉Droid上的应用程序,但通过USB连接到设备时遇到一些困难。我的开发服务器是一个在Hyper-V中运行的Windows 7 64位虚拟机,因此我无法在来宾或主机中通过USB直接连接。
我安装了两种不同的USB over TCP解决方案,但连接似乎有问题,因为ADB监视器反复报告“devicemonitor failed to start monitoring”。是否有一种方法可以直接从开发机器上的客户端连接到设备上的守护程序,使用网络而不是USB连接或其他可行的选项?
当前回答
首先,您必须通过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正常
完成。享受
其他回答
我不知道如何在没有任何USB连接的情况下连接设备,但如果您设法在另一台计算机上连接,您可以通过发出以下命令将adbd切换到TCP模式
adb tcpip <port>
通过以下方式从终端连接到您的设备:
adb connect <ip>:<port>
也许也可以从设备上的终端切换到TCP模式。
有两种方法可以通过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
如果您想通过WiFi轻松连接设备以运行、调试或部署Android应用程序,可以使用我开发的开源IntelliJ插件。这里是代码,这里是可以使用的插件。
用法很简单。这里有一张gif图:
adb可以通过tcp套接字与adb服务器通信。您可以通过telnet进行验证。
$ telnet 127.0.0.1 5037
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
000chost:version
OKAY00040020
通常,命令的格式为%04x%s,带有<message.length><msg>以下是ruby命令witch针对tcp套接字套接字发送adb命令cmd
def send_to_adb(socket, cmd)
socket.printf("%04x%s", cmd.length, cmd)
end
第一个示例发送命令host:version,其长度为12(十六进制为000c)。您可以享受像framebuffer这样更令人兴奋的命令:它从framebuffer中获取屏幕截图,您可以从其名称中猜到。
如果您想在按钮上执行此操作,请单击:
在Android Studio中->设置/首选项->插件->浏览存储库搜索“ADB wifi”安装并重新启动android studio使用USB将设备(启用USB调试)连接到计算机(每个会话只需执行一次)工具->Android->ADB WIFI->ADB USB TO WIFI(或使用上述组合键。对于MacOS:ctrl+shift+w)
注意:如果不起作用:
您的wifi路由器防火墙可能正在阻止连接。您的计算机上可能未安装ABD。