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

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


当前回答

在我的系统中,情况如下:

在我的Linux shell中的Android设备上,一个简单的“ifconfig”没有给我IP地址。我必须键入:

如果配置eth0

-or-

网络配置文件

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

setprop服务.adb.tcp.port-1

停止adbd

启动adbd

然后在我的Win7盒子(运行Eclipse3.7.1的盒子)上

\android sdk\平台工具>

而不以管理员身份运行。然后我做了一个

adb连接12.345.678.90

我从来没有放过端口

adb tcpip 5555

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

我可以做一个“adb外壳”,并破坏我的Android设备。但我的Android设备现在没有出现在我的运行->运行配置->目标选项卡中。另一方面,如果我将目标选项卡设置为自动。然后,当我通过run->run运行我的应用程序时,它确实会在我的Android设备上运行,即使我的安卓设备甚至没有被列为我的目标之一。

其他回答

来自adb--帮助:

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

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

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

端口是5554。

在最终放弃了通过TCP直接连接到设备的可能性之后,我最终让Eltima USB转以太网软件开始工作。我几乎已经决定,仅通过仿真器不可能通过网络连接到设备。

对于Windows用户:

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

第2步:

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

•首先转到SDK安装文件夹沿着这条路走,这条路只是一个例子。D: \softwares\Development\Andoird\SDK\SDK\平台工具\;D: \softwares\Development\Andoird\SDK\SDK\tools;•现在搜索windows系统高级设置

打开环境变量。

然后打开路径并粘贴以下路径这是一个例子。你的SDK路径与我的不同,请使用你的。D: \softwares\Development\Andoird\SDK\SDK\平台工具\;D: \softwares\Development\Andoird\SDK\SDK\tools;

步骤3:

打开cmd并键入adb。如果您仍然看到adb不是有效的命令,那么您的路径没有正确设置,请执行上述步骤。

现在,您可以将android手机连接到PC。

打开cmd并键入adb设备,您可以看到您的设备。查找您的电话ip地址。

类型:-adb-tcpip 5555

获取手机的IP地址

adb shell netcfg

Now,

adb connect "IP address of your phone"

现在运行您的android项目,如果没有看到您的设备,请再次键入adb connect您手机的IP地址

对于Linux和macOS用户:

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

sudo apt-get安装android工具adb android工具fastboot

通过USB电缆将手机连接到PC。在终端中键入以下命令

adb tcpip 5555

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

删除手机。

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

在Android中激活调试模式通过USB连接到PC打开命令提示符类型:adb-tcpip 5555断开平板电脑或智能手机与电脑的连接打开命令提示符类型:adb connect IPADDRESS(IPADDRESS是平板电脑或智能手机的DHCP/IP地址,可以通过Wi-Fi->当前连接的网络找到)

现在在命令提示符中,您应该看到这样的结果:connected to xxx.xxx.xxx.xxxx:55555

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

plink -L 5037:localhost:5037 <host_IP_address>

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

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