通过网络使用ADB ( Connect to android with ADB over TCP )
16lz
2021-01-23
来自: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 -1stop adbdstart adbd
这是最简单的方法,但是成功率不高。我们先看一下如何实现:
1 2 | adb tcpip 5555 #让adbd重新启动,并监听端口5555 adb connect 192.168.0.101:5555 |
改回原先状态:
1 | adb usb |
细心的朋友应该已经发现了,通过adb发出的命令是用户级的(实际在手机上的用户为shell),而切换监听方式所需的权限需要root才行。
这就是为什么会失败。
如果你的手机有足够的权限的话,你可以试试adb root
如果成功的话,再执行上面的命令。
更多相关文章
- Android 进程管理
- Android IPC 机制,进程间通信
- Android中检测手机制式和移动网络类型
- Android 手机 无线 ADB
- android init 进程分析
- Android下获取手机屏幕大小
- 使用RenderScript库,在某些手机或Android版本奔溃的问题