今天一朋友问Android手机的Wi-Fi共享热点IP能不能修改,他那边一直是192.168.43.
,自己记得在设置里面没有这个选项,便回复了他不能修改。后来猜测Android源码可能为了刻意避开常用局域网路由器192.168.0/1/2.
段,特意设置的其他网段,但会不会存在与基站代理在一个网段后冲突自我协调的机制呢?(当然这个可能性很低,一般基站的代理服务器分配的都是10.*段的内网地址),既然有了这个问题,那索性看看源码怎么设置的。
涉水
首先想到的是到StackOverFlow上看看有没有相关问题,搜索得之,
http://stackoverflow.com/a/31238229/4865380
确实有人提到修改Hotspot网关的问题,给出的具体源码是在WiFiStateMachine.java中硬编码了192.168.43.1这个网关地址,这就解释了为什么共享出去的IP地址都是192.168.43.*了。手机用户想修改它,duang然是不可能了。
挣扎
从AOSP的master中去查找上文提到的platform/framework/base/wifi/java/a