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

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


当前回答

以下是Brian使用蓝牙回答的扩展:

在Linux上,使用Blueman通过蓝牙与设备共享PC互联网:$sudo apt-get安装blueman$blueman经理配对:启用蓝牙后搜索设备并使其可见$blueman服务网络>[X]网络接入点(NAP)您的手机>设置>蓝牙>配对设备>[X]Internet访问使用蓝牙网络执行ADB命令:$adb tcpip 5555$adb connect$(adb shell ip-f inet addr show bt pan | egrep-o'[0-9]+\.[0-9]+\.[0-10]+\.[0-9]'| head-n1):5555

完成后返回USB模式:

$ adb disconnect
$ adb usb

注意:蓝牙3.0和4.0最高可达24 Mbit/s。

其他回答

手动流程

从你的设备,如果它是根

根据xda开发人员的一篇帖子,您可以通过以下命令从设备通过Wi-Fi启用ADB:

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

您可以禁用它,并使用

setprop service.adb.tcp.port -1
stop adbd
start adbd

从计算机,如果您已经有USB访问权限(不需要root)

如果你已经有了USB,切换到使用Wi-Fi更容易。通过USB连接设备的计算机上的命令行发出命令

adb tcpip 5555
adb connect 192.168.0.101:5555

确保将192.168.0.101替换为实际分配给设备的IP地址。完成后,可以通过运行以下命令断开与adb-tcp会话的连接:

adb disconnect 192.168.0.101:5555

您可以通过两种方式查找平板电脑的IP地址:

手动IP发现:

进入Android的WiFi设置,单击操作栏中的菜单按钮(垂直省略号),点击高级,然后在屏幕底部看到IP地址。

使用ADB发现IP:

通过adb执行以下命令:

adb shell ip -f inet addr show wlan0

告诉ADB守护程序返回USB监听

adb usb

自动化流程的应用程序

Google Play上还有几个应用程序可以自动完成这一过程。快速搜索可以找到adbWireless、WiFi ADB和ADB WiFi。所有这些都需要root访问权限,但adbWireless需要更少的权限。

我不知道如何在没有任何USB连接的情况下连接设备,但如果您设法在另一台计算机上连接,您可以通过发出以下命令将adbd切换到TCP模式

adb tcpip <port>

通过以下方式从终端连接到您的设备:

adb connect <ip>:<port>

也许也可以从设备上的终端切换到TCP模式。

以下是Brian使用蓝牙回答的扩展:

在Linux上,使用Blueman通过蓝牙与设备共享PC互联网:$sudo apt-get安装blueman$blueman经理配对:启用蓝牙后搜索设备并使其可见$blueman服务网络>[X]网络接入点(NAP)您的手机>设置>蓝牙>配对设备>[X]Internet访问使用蓝牙网络执行ADB命令:$adb tcpip 5555$adb connect$(adb shell ip-f inet addr show bt pan | egrep-o'[0-9]+\.[0-9]+\.[0-10]+\.[0-9]'| head-n1):5555

完成后返回USB模式:

$ adb disconnect
$ adb usb

注意:蓝牙3.0和4.0最高可达24 Mbit/s。

为了以防万一,我写了一个.bat文件来帮我做这项工作。

我使用的是Visual Studio/Xamarin-只需将手机连接到USB,运行批处理文件,选择“C”进行连接,完成后,断开手机与USB电缆的连接。您将从那里通过Wifi连接。

注意:将脚本中的目录更改为电脑上adb.exe所在的位置,并编辑手机的IP地址。

@echo off
cls
c:
cd\
cd C:\Program Files (x86)\Android\android-sdk\platform-tools\

:choice
set /P c=Do you want to connect or disconnect[C/D]?
if /I "%c%" EQU "C" goto :connect
if /I "%c%" EQU "D" goto :disconnect
goto :choice


:connect
echo plug phone in via USB. Make sure emulator is switched off
pause
adb tcpip 5555
adb connect 192.168.0.32:5555
echo finished - unplug USB
pause
exit

:disconnect
adb usb
echo finished - ADB is reset to USB mode
pause

希望它能帮助到某人!

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

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

有联系的。