事件起因
最近又开始做react-native项目,发现android studio自带的模拟器无法联网,百度了一下,解释的很牵强,只能寻求官方文档。
在android developer文档中有专门的对模拟器运行app的介绍,找到配置模拟器 DNS 设置这个标题。然后根据文档介绍即可。
- 直接修改dns: 根据文档描述,模拟器默认10.0.2.2网关是copy系统的dns地址。也就是读取系统中(linux ,macos)找到
/etc/resolv.conf
文件,可以手动添加8.8.8.8。
sudo vim /etc/resolv.conf
# resolv.conf
#
# This file is automatically generated.
#
nameserver 8.8.8.8
nameserver 192.168.33.10
nameserver 114.114.114.114
复制代码
-
-
**问题 ** 这种解决方法只能暂时生效,
resolv.conf
这个文件是系统自动生成的,需要从根本上解决这个问题。 -
-
使用系统
networksetup
工具 -
# 列出网络连接 networksetup -listallnetworkservices #set Wifi networksetup -setdnsservers "Wi-Fi" 8.8.8.8 114.114.114.114 # 清空DNS缓存 dscacheutil -flushcache 复制代码
-
-
- 直接在
系统偏好设置
里修改
- 直接在
-
- 修改模拟器启动参数: 也可以每次使用
-dns-server <serverList>
命令行启动。进入sdk/emulator目录,./emulator -avd Pixel_XL_API_30 -dns-server 8.8.8.8
但这种方式在android studio 内嵌的device manger 中不生效,单独开启的simulator生效,暂不清楚需不需要其他配置。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END