如何通过TCP连接到使用ADB的Android?
我试图在Motorola Droid上调试应用程序,但我通过USB连接到设备时遇到了一些困难。 我的开发服务器是运行在Hyper-V中的Windows 7 64位VM,因此无法通过USB或主机直接连接。
我安装了几种不同的USB-over-TCP解决方案,但由于ADB监控器报告“devicemonitor无法开始监控”,连接似乎有问题。 有没有一种方法可以直接从开发机器上的客户端连接到设备上的守护进程,而不是使用USB连接或其他可行的选项?
手动过程
从你的设备,如果它是根源
根据xda开发者的帖子,您可以使用以下命令通过Wi-Fi从设备启用ADB:
su
setprop service.adb.tcp.port 5555
stop adbd
start adbd
你可以禁用它,并返回ADB来监听USB
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
请务必使用实际分配给您设备的IP地址替换192.168.0.101
。
您可以通过两种方式找到平板电脑的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只需要较少的权限。
如果您的手机已经扎根,这非常简单。
从Google Play下载终端模拟器(有很多免费的)。 确保您的Android设备已连接到Wi-Fi并获取Wi-Fi IP地址。 打开终端程序并输入:
su
setprop service.adb.tcp.port 5555
stop adbd
start adbd
现在转到您的计算机(假设您正在使用Windows)并在桌面上为“cmd.exe”(不带引号)创建快捷方式。
右键单击cmd快捷方式并选择"Run as Administrator"
更改为您的android-sdk-windowstools
文件夹
类型:
adb connect ***wifi.ip.address***:5555
(example: adb connect 192.168.0.105:5555)
现在adb应该说你已经连线了。
注意:如果你太快而无法提供连接命令,则可能会失败。 因此,在你说这不起作用之前,至少尝试两次五秒钟。
通过USB连接设备并确保调试正常,然后运行:
adb tcpip 5555
adb connect <DEVICE_IP_ADDRESS>:5555
断开USB并继续进行无线调试。
当您完成并想要切换回USB调试时,请运行:
adb -s <DEVICE_IP_ADDRESS>:5555
要查找设备的IP地址,请转到设备上的Settings > Wi-Fi > Advanced > IP Address
或运行adb shell netcfg
。
不需要root。 一次只能调试一个设备。
看到这个XDA文章。
adb
命令位于Android SDK的platform-tools
文件夹中。