如何调试Windows上Wi-Fi异常的Android模拟器网络请求问题?
React Native Android模拟器(Windows)无法联网问题调试方案
一、验证底层网络连通性
通过adb shell进入模拟器终端,执行以下命令定位问题根源:
- 测试物理网络连通:
ping 8.8.8.8,能通则说明硬件连接正常,问题出在DNS/上层配置;不通则说明模拟器未接入主机网络 - 测试DNS解析:
nslookup google.com,返回错误则说明DNS配置失效
二、检查模拟器镜像与网络模式
- 确认AVD镜像类型:部分精简版镜像(无Google Play标记的Android Q+镜像)可能缺失Wi-Fi模块,建议切换到带Google Play标签的官方系统镜像
- 调整网络模式:打开AVD管理器→编辑模拟器→显示高级设置→「Network」,将「Network Mode」设为
NAT(默认)或Bridge(主机有线网络时更稳定)- 若用Bridge模式,需确保模拟器与主机网卡处于同一网段,可手动分配静态IP
三、排查主机防火墙/安全软件干扰
- 临时关闭Windows Defender防火墙(Windows安全中心→防火墙和网络保护→临时关闭)及第三方杀毒软件,测试模拟器联网
- 若关闭后恢复正常,将
qemu-system-x86_64.exe、adb.exe添加到防火墙允许列表
四、切换Android网络栈(Android 10+)
Android 10及以上支持双网络栈,默认legacy栈可能存在兼容性问题:
- 开启开发者选项:设置→关于手机→连续点击版本号7次
- 找到「网络栈」选项,切换为「现代(Modern)」模式,重启模拟器后测试
五、手动配置模拟器网络参数
若模拟器无法自动获取DNS,手动配置APN:
- 模拟器设置→网络与互联网→移动网络→接入点名称(APN)
- 编辑默认APN,设置
APN为internet,DNS1为8.8.8.8,DNS2为8.8.4.4,保存后重启移动网络
六、验证React Native项目配置
- 检查
android/app/src/main/AndroidManifest.xml,确认已添加联网权限:<uses-permission android:name="android.permission.INTERNET" /> - 若涉及HTTP请求,在
<application>标签中添加明文流量许可:android:usesCleartextTraffic="true"
七、修改QEMU配置文件
找到AVD配置文件(默认路径:C:\Users\<你的用户名>\.android\avd\<模拟器名称>.avd\config.ini),检查并修改以下参数:
hw.wifi=yes:确保Wi-Fi硬件模拟开启net.dns1=8.8.8.8:手动指定DNS服务器
修改后保存,执行冷启动(Cold Boot Now)生效
内容的提问来源于stack exchange,提问作者YakovL
相关产品推荐
相关产品推荐

