我正在尝试调试摩托罗拉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。

其他回答

Bash util函数:

function adb-connect-to-wifi {
    ip="$(adb shell ip route | awk '{print $9}')"
    port=5555
    adb tcpip ${port}
    adb connect ${ip}:${port}
}

使用TCP端口连接平板电脑。确保您的系统和设备连接到同一网络。

打开控制台cmd.exeadb-tcpip 5555型转到系统->开发选项->USB调试->取消选中TCPIP连接键入adb connect 192.168.1.2这是您的设备IP地址连接到192.168.1.2

使用端口转发连接尝试进行端口转发,

adb转发tcp:<PC端口>tcp:<设备端口>

如:

adb转发tcp/ip:5555 tcp:5555。C: \Users\abc>adb转发tcp:7612 tcp:7612C: \Users\abc>adb-tcpip 7612在TCP模式下重新启动端口:7612C: \Users\abc>adb连接10.0.0.1:7612连接至10.0.0.1:7612

若您收到错误消息:找不到设备,请将usb设备连接到系统,然后执行相同的步骤。对于根设备

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

使用adbwireless应用程序启用手机,然后使用Windows机器上的adb connect与手机通话。手机上的adbwireless应用程序告诉如何连接手机,并提供IP地址和所有信息。

另一个不那么有趣的选择是通过USB连接,告诉手机通过adb-TCPIP 5555使用TCPIP,然后断开USB连接,然后使用adb-connect。这要困难得多,因为这样你必须自己计算手机的IP地址(adbwireless告诉你IP),你必须通过USB连接,你必须运行adb-tcpip(adbwireless也会解决这个问题)。

所以:在手机上安装adbwireless。使用它。这是可能的,我经常在Linux和Windows上使用它。

对于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地址。

删除手机。

我需要让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