首页 > 代码库 > WiFi(网络)调试Android手机

WiFi(网络)调试Android手机

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连接,实验成功,记录在此,方便日后查阅。

WiFi(网络)调试Android手机