日期:2014-05-16  浏览次数:20673 次

通过网络使用ADB
本文介绍如何通过网络(尤指无线网络)与Android的adbd进行连接。
原理:
adb server: 计算机上的一个服务进程,进程名为adb
adb daemon: Android 手机上的一个服务进程,进程名为adbd
adb client: 你可以认为是计算机上的一个终端窗口,进程名也为adb
你的指令通过adb client 交给adb server,server和daemon之间进行通讯。
因此,这里建立的连接实际上是server和daemon之间的连接。

有三种方法:

到Market搜索Wireless ADB
在手机上进入终端实现
1.手机:让adbd监听指定端口
#以下指令必须以root权限运行
# setprop 是指set properties,用法 setprop <key> <value>
setprop service.adb.tcp.port 5555
stop adbd #停止adbd
start adbd #启动adbd

2.手机:连接网络(3G或者WLAN)
假定你获得的IP地址为192.168.1.102
3.计算机:连接手机
adb connect 192.168.1.102:5555

4.计算机:检查是否成功
adb get-state

应当输出device或者emulator-5555,这取决于你的设置。
5.如何改回原先状态(通过USB连接)
setprop service.adb.tcp.port -1
stop adbd
start adbd
已经通过USB连接后直接通过ADB设置
这是最简单的方法,但是成功率不高。我们先看一下如何实现:

adb tcpip 5555 #让adbd重新启动,并监听端口5555
adb connect 192.168.0.101:5555
改回原先状态:

adb usb
细心的朋友应该已经发现了,通过adb发出的命令是用户级的(实际在手机上的用户为shell),而切换监听方式所需的权限需要root才行。
这就是为什么会失败。
如果你的手机有足够的权限的话,你可以试试
adb root

如果成功的话,再执行上面的命令。