adb本身提供了网络调试的功能,所以,在不能直接用USB连上Android手机的情况下,可以使用WiFi连接adbd进行调试。具体方法如下:
如果只是暂时需要用WiFi连adb:
1. 手机、PC连上AP,确保两者能够正常分配IP(ifconfig查看):
PC:
手机:
(可以ping一下,验证互通;若不互通,请检查AP,PC,手机的网络设置)
2. USB连上手机,确保adb devices能够找到:
3. adb tcpip 5555(端口号,可以指定其他值),该命令将会重启手机上的adbd,开启网络调试功能:
4. 断开手机到PC的USB连接,adb connect 192.168.31.196:5555,提示connected即为连接成功:
5. 此时adb devices就能够看到通过tcp连接的手机了:
6. 此时,使用adb shell,就已经用WiFi连上手机了:
7. 断开连接,手机关机(或重启)会自动断开adbd到PC上adb的TCP连接;除此之外,有其他方法:
a) adb disconnect 192.168.31.120, 可以从adb交互中exit,再执行该命令(TCP连接畅通,交互没有卡顿情况下);
b) 另外打开一个终端执行上述命令(此时另一个终端的adb交互自动结束);
c) kill掉PC上的adb,也可结束adb交互,但不会清除adb devices中的设备;
方法一需要每次先将手机通过USB连接到PC,使用adb tcpip命令开启网络调试功能,一旦手机重启,又要重复这些步骤,比较麻烦。
一劳永逸的方法是,在手机的/system/build.prop中增加一行配置:service.adb.tcp.port=5555(同样可以指定为其他值),实现开机就支持网络调试,不需要先USB连上手机。
可以先将/system/build.prop从手机中pull出来,修改后再push进去(需要root权限):
(注意:上面的adb remount命令需要root)
此后,每次重启,WiFi连接成功(可在PC上ping一下)后,就能直接使用adb connect 192.168.31.120连上手机了。
使用WiFi连上adb和USB连上adb没有任何不同,可以正常使用adb shell, adb logcat, adb am,adb reboot等,使用Eclipse单步调试App也没有任何问题。没有ROOT的Android手机也可以使用,唯一的要求是手机上的adbd启用了网络调试功能,是不是邪恶感顿生?(通过其他手段打开某手机的tcp调试功能)
下面就用Eclipse装一个了一个HelloWorld,并进行单步调试,没有任何问题:
PS:最近在调Android的USB-OTG功能,手机因为插上了OTG线,不能继续用USB连接adbd,所以试了一下WiFi连接,实验成功,记录在此,方便日后查阅。
原文地址:http://blog.csdn.net/xusiwei1236/article/details/41480319