我正在尝试调试摩托罗拉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连接或其他可行的选项?
当前回答
我发现其他答案令人困惑。使用adbWireless要简单得多:
http://ppareit.github.com/AdbConnect/
只需在手机上安装一个应用程序,通过wifi切换调试,安装一个eclipse插件,就完成了。
其他回答
以下是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。
我需要让USB和TCPIP都为ADB工作(不要问),所以我做了以下工作(使用其他人从xda开发人员发布的指示)
使用adb shell:
su
#Set the port number for adbd
setprop service.adb.tcp.port 5555
#Run the adbd daemon *again* instead of doing stop/start, so there
#are two instances of adbd running.
adbd &
#Set the port back to USB, so the next time ADB is started it's
#on USB again.
setprop service.adb.tcp.port -1
exit
手动流程
从你的设备,如果它是根
根据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需要更少的权限。
来自adb--帮助:
connect <host>:<port> - Connect to a device via TCP/IP
顺便说一下,这是一个命令行选项。
您应该尝试将手机连接到Wi-Fi,然后从路由器获取其IP地址。它在蜂窝网络上不起作用。
端口是5554。
我只是遵循以下步骤,它开始工作,这样我就可以连接到我的android设备。
步骤1:在Android设备中打开终端窗口并执行以下命令。
su——切换到超级用户。setprop service.adb.tcp.port 5555-指定tcp端口-5555是此处的端口号stop adbd-停止adbb服务。start adbd-启动adbd服务。
步骤2:通过ADB,执行以下命令。(从配置ADB的路径)
adb connect 10.10.10.50:555-这里10.10.10.50是android设备的IP地址,5555是端口号。