来自:http://lesca.me/blog/2011/02/22/connect-to-android-with-adb-over-tcp/?replytocom=27
本文介绍如何通过网络(尤指无线网络)与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监听指定端口
|
1
2
3
4
5
|
#以下指令必须以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设置
这是最简单的方法,但是成功率不高。我们先看一下如何实现:
|
1
2
|
adb tcpip 5555
#让adbd重新启动,并监听端口5555
adb connect 192.168.0.101:5555
|
改回原先状态:
|
1
|
adb usb
|
细心的朋友应该已经发现了,通过adb发出的命令是用户级的(实际在手机上的用户为shell),而切换监听方式所需的权限需要root才行。
这就是为什么会失败。
如果你的手机有足够的权限的话,你可以试试adb root
如果成功的话,再执行上面的命令。
本文详细介绍了如何通过网络(包括无线网络)与Android设备的adb服务进行连接,包括使用adb server、adb daemon和adb client之间的通讯机制。提供了三种连接方法:通过Market应用、在手机上实现连接、以及通过USB连接后的网络连接方法。同时介绍了如何在不同场景下切换监听端口,以及如何使用adb命令进行操作。
3676

被折叠的 条评论
为什么被折叠?



