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

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


当前回答

步骤:

su——切换到超级用户。setprop service.adb.tcp.port 5555-指定tcp端口-5555是此处的端口号stop adbd-停止adbd服务。start adbd-启动adbd服务。

这与我的windows PC上的ssh配合使用非常好

我试着在我的氰手机的开机上做这个,或者用plink启动这个。有了普林克,我不能用苏来发射炮弹。。。sudo或su命令不起作用。开机时我不知道它是怎么工作的!我的shell程序使用su-c“sh/storage/sdcard1/start_adb.sh”和最后3个命令(不使用su-)从ssh运行

谢谢

其他回答

有两种方法可以通过TCP将Android设备与ADB连接?

第一种方式

遵循以下步骤

首先使用以下命令获取您的设备IP地址

adb shell ifconfig

以上命令的OUTPUT

wlan0     Link encap:UNSPEC    Driver icnss
          inet addr:XXX.XXX.X.XX  Bcast:XXX.XXX.X.XXX

通过上述命令的帮助,您将找到所连接设备的IP地址

现在使用下面的命令

adb tcpip 5555

上述命令将重新启动此TCP端口:5555

现在使用以下命令连接您的设备

adb connect XXX.XXX.X.XXX:5555
            ^^^ ^^^ ^ ^^^
        IP Address of device

第二种方式

你可以在ADB中使用Android Studio插件Android设备

Android WiFi ADB-IntelliJ/Android Studio插件

IntelliJ和Android Studio插件创建用于通过WiFi快速连接您的Android设备,以便在没有USB连接的情况下安装、运行和调试应用程序。按下一个按钮,忘记USB电缆

请查看本文了解更多信息

在Android Studio中连接Android设备与Wifi

使用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

首先,您必须通过USB连接设备

然后将设备连接到WIFI并获取IP地址。当仍然通过usb连接时,在命令行或通过Android Studio终端键入

adb tcpip 5555
adb connect <device IP>:5555

您将看到以下消息:

restarting in TCP mode port: 5555
connected to 172.11.0.16:5555

现在卸下USB电缆,您仍会看到logcat正常

完成。享受

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

在我的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设备上运行,即使我的安卓设备甚至没有被列为我的目标之一。

这是Mac/Linux通过Wi-Fi连接到Android设备的单线图,但首先必须通过USB连接到设备。

# sleep 5 is to wait for the device to restart listening.
adb kill-server && adb tcpip 5555 && sleep 5 && adb shell ip route | awk '{print $9}' | xargs adb connect