Android O之后如何设置WiFi STA模式下的DHCP host name

时间:2024-04-06 14:38:55

[DESCRIPTION]

从Android O开始,Google为了支持DHCP anonymity profile,默认不在DHCP request option中携带host name(Option 12)字段,因此Ap端的设备列表中将会显示为"*"。MTK release版本也会维持google这种默认行为。Google 在Android O上改动的change list:

https://android-review.googlesource.com/#/c/platform/frameworks/base/+/313203/
https://android-review.googlesource.com/#/c/platform/frameworks/base/+/313863/
因此如果厂商需要手机显示host name需要自行修改代码。

[SOLUTION]

修改方法为:在DHCP 协议启动前(通常是Conntivity framework初始化过程中)将System properties:"net.hostname"设置为自己需要的名字 。
特别提醒:host name的字串中间不要有空格,否则在AP端是Android hospot的情况下可能仍然无法正确显示host name.

修改后可以抓netlog(tcpdump)验证修改是否生效,方法是查看DHCP协议中是否已经带有预期的Option: (12) host name栏位。
Android O之后如何设置WiFi STA模式下的DHCP host name