我正在尝试调试摩托罗拉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连接或其他可行的选项?
当前回答
我找到了一个方便的方法,我想与大家分享。
对于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连接的情况下连接设备,但如果您设法在另一台计算机上连接,您可以通过发出以下命令将adbd切换到TCP模式
adb tcpip <port>
通过以下方式从终端连接到您的设备:
adb connect <ip>:<port>
也许也可以从设备上的终端切换到TCP模式。
我只是遵循以下步骤,它开始工作,这样我就可以连接到我的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是端口号。
在我的系统中,情况如下:
在我的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设备上运行,即使我的安卓设备甚至没有被列为我的目标之一。
这些是我遵循的步骤,对我来说很有效,
adbshellifconfig(从这里获取设备的ip地址)adb-tcpip 7777(将adb连接到某个端口)adb connect“ipad地址”:7777
为了以防万一,我写了一个.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
希望它能帮助到某人!