1. Android WiFi调试常用标签(Tag)
都知道的,要看Android log如果不加过滤器,那么对应的信息量极其的庞大,要在这些大信息量找到我们关心的可能需要耗费比较长的时间,所以对于在调试WiFi过程,那些标签是需要关注的呢?
WiFi的核心服务,是启动整个WiFi服务的,它在我们的logcat关注范围内
WiFi的扫描服务,一般我点开或者进入到WiFi列表页面里,这个服务在后台帮我们刷新热点,同样在logcat关注的范围内
关于有线与WiFi的切换,以及系统关于网络的链接,它帮忙在管着事呢,所以也在logcat关注的范围内
系统网络相关的命令执行需要涉及到它,比如像Setting iface up 或者bring up eth0 这些事儿,它帮忙在处理,同样也在WiFi调试时logcat关注范围内
这个标签也是比较常用到,在hardware/libhardware_legacy/wifi/wifi.c里面,主要帮忙实现drv的加载/卸载,以及处理与wpa_supplicant之间相关事件的通信,常用于前期的WiFi Drv导入调试比较多,所以也在logcat关注范围内
这是一个类似链接的服务,一般用于 Tethering wlan0 或者 等等,可以帮忙辅助调试WiFi流程,也在logcat关注范围内
对于可以支持软件AP的WiFi Dongle设备来说,这是一个很关键的服务(工具),一般用来初始化设置软AP的参数(ssid、channel、psk、wpa、带宽等参数)详细具体可参考 hostapd.conf
WiFi中心处理枢纽,很多的WiFi状态处理都离不开它,所以也是在logcat需要关注的范围
它在系统网络有着重要的地位,因为其处理的业务包含了dns,路由控制表, dhcp相关等等,可以这么说,系统网络涉及到无法ping通一些特定的域名或者网站,可以来这里找找原因,所以它也在logcat关注范围内,其中该文件在/system/netd/server/TetherController.cpp,
一个神奇且强大的工具,集中了dns,dhcp,router等功能,它很适合在一些小网络(轻量级)架构发挥着强大的作用,详细可以参见 这里
可以看下它工作时打印
以上主要为调试WiFi 软AP常用的Tag
对应的logcat 命令如下
在切换到 Sta 状态时,我们需要重点关注wpa_supplicant对应的log
开启wpa_supplicant的log,只需要修改一个地方即可,在找到对应init.xx.rc启动wpa_supplicant进程,在启动前添加 -dd的参数(将wpa_supplicant log 级别设为debug)即可,后续关于wpa_supplicant调试会继续更新整理
2. 使用adb命令连接WiFi进行无线调试
1.用USB连接手机
2.运行 adb devices,测试是否连接成功,能出现设备列表即可;
3.打开命令输入
adb tcpip 5555
结果
adb tcpip 5555;restarting in TCP mode port: 5555
4.查看手机ip
adb shell ifconfig wlan0
结果
wlan0 Link encap:UNSPEC inet addr:192.168.50.141 Bcast:192.168.50.255 Mask:255.255.255.0 inet6 addr: fe80::7a62:56ff:fee5:76d0/64 Scope: Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:3454241 errors:0 dropped:23 overruns:0 frame:0 TX packets:2524887 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:152319933 TX bytes:535345072
连接wifi
adb connect 192.168.50.141
结果
connected to 192.168.50.141:5555
然后就可以进行wifi调试了
模拟器或者电视盒子在已知adb调试端口的情况下可以直接通过adb connect xxx.xxx.xxx.xxx:xxxx(模拟器或盒子的IP:adb调试端口),
通过adb devices看到已经连接的设备
常见模拟器adb端口如下图所示:
3. ipconfig是什么意思
ipconfig是调试计算机网络的常用命令,通常大家使用它显示计算机中网络适配器的IP地址、子网掩码及默认网关。其实这只是ipconfig的不带参数用法,而它的带参数用法,在网络应用中也是相当广泛。
使用ipconfig时不带任何参数选项,那么它为每个已经配置了的接口显示IP地址、子网掩码和缺省网关值。
(3)wifi调试命令扩展阅读
ipconfig常用命令操作:
1、ipconfig /all:显示本机TCP/IP配置的详细信息
2、ipconfig /release:DHCP客户端手工释放IP地址
3、ipconfig /renew:DHCP客户端手工向服务器刷新请求
4、ipconfig /flushdns:清除本地DNS缓存内容
5、ipconfig /displaydns:显示本地DNS内容
6、ipconfig /registerdns:DNS客户端手工向服务器进行注册
7、ipconfig /showclassid:显示网络适配器的DHCP类别信息
4. 【原创】安卓开启WIFI调试
拿手机来调试,一天下来没多久就满电了,怕电池hold不住,找了个远程调试的办法。下面是操作步骤,给有需要的人帮助。
1、手机开启USB调试模式
2、将手机连接到电脑上
3、命令行执行adb tcpip 5555(启动手机上的adbd守护进程,并监听5555端口,默认端口为5555,可使用其它端口)
4、获取手机连接的wifi地址(命令行查看adb shell ip address show wlan0)
5、通过adb connect命令连接
注:adb connect需要和adb tcpip所使用的端口一致,如果不一致,则无法连接到该手机。