Android 14/13如何启用mDNS?.local地址无法解析问题求助
Android 12+ 无法访问 .local mDNS 地址的排查方案
先确认网络环境:得和PC连同一个WiFi,要是路由器开了5GHz/2.4GHz隔离,必须关掉。另外别开VPN或代理,这些会搅乱mDNS解析,先关了试试。
检查系统mDNS服务:
- 打开开发者选项(设置-关于手机-连续点版本号),找到mDNS调试选项,确保是开启状态。
- 用ADB命令查服务状态:
adb shell service list | grep mdns,要是显示mdns: [android.net.mdns.IMdnsService]就正常,不然重启设备试试。
应用权限要到位:
- Chrome/Edge这类浏览器,得开本地网络访问权限(在应用权限设置里找),Android 10+之后没这权限的话,连本地mDNS都碰不到。
- 自己做的Unity应用,要在AndroidManifest.xml里加
<uses-permission android:name="android.permission.ACCESS_LOCAL_NETWORK" />,Android 13+还要动态申请权限,不然解析不了.local地址。
手动测试解析情况:
- 装个Termux终端,输
ping 你的目标地址.local,看能不能解析出IP。要是能解析但浏览器打不开,先直接用IP访问确认服务没问题,再查浏览器的设置。 - 也可以在Termux里装
mdns-scan,扫一下本地网络的mDNS服务,看看目标设备的.local地址有没有被广播出来。
- 装个Termux终端,输
路由器设置别拖后腿:
- 进路由器后台,找mDNS服务或者多播转发的开关,必须开着。
- 检查防火墙,别拦截了UDP 5353端口(mDNS默认用这个端口),得允许这个端口的进出。
系统层面的修复尝试:
- 要是上面都没问题,可能是系统bug。试试清WiFi缓存(长按当前WiFi-修改网络-高级-清除缓存),或者直接重置网络设置(设置-系统-重置-重置网络设置)。
- 更新到最新系统版本,有些厂商定制系统的mDNS适配有问题,官方补丁可能已经修复了。
内容的提问来源于stack exchange,提问作者Alejandro Huerta
相关产品推荐
相关产品推荐

