Android 10模拟器无法访问WCF服务,Android9及以下却可正常访问?
解决思路
- 检查并调整模拟器DNS配置
进入模拟器设置→网络和互联网→高级→私人DNS,若当前为自动模式,可手动填入公司内网DNS服务器地址;也可通过adb命令强制设置:adb shell setprop net.dns1 你的内网DNS地址,设置后重启模拟器验证。 - 切换模拟器网络连接模式
将默认的NAT模式改为桥接模式(在AVD管理器编辑模拟器时修改网络选项),让模拟器获取与主机同网段的IP,规避NAT带来的DNS解析限制;同时可临时关闭主机防火墙,排查是否是防火墙拦截了模拟器的DNS请求。 - 关闭Android 10私有DNS特性
Android 10新增的私有DNS(DoT)功能,若内网DNS不支持该协议,自动模式下会导致解析失败。进入模拟器设置→网络和互联网→高级→私人DNS,选择“关闭”选项后重试访问。 - 手动添加hosts映射
若DNS解析始终失败,直接在模拟器hosts文件中添加私有域名与IP的映射:- 获取root权限:
adb root - 挂载系统分区为可写:
adb remount - 推送主机hosts文件到模拟器(Windows主机路径为
C:\Windows\System32\drivers\etc\hosts,Linux/macOS为/etc/hosts):adb push 主机hosts路径 /system/etc/hosts - 重启模拟器后验证解析情况
- 获取root权限:
- 回滚模拟器系统镜像
若近期Android Studio更新了Android 10模拟器镜像,可能是镜像更新导致的解析逻辑问题。在AVD管理器中选择之前正常使用的旧版本Android 10镜像,重新创建模拟器测试。
内容的提问来源于stack exchange,提问作者zwilkin
相关产品推荐
相关产品推荐

