方案一:
之前做测试的时候发现虚拟机无法联网(浏览器打开任意网址, 显示 403 forbidden);
解决方案:关闭已经打开的虚拟机,进入到 SDK 安装目录下,按住 shift + 鼠标右键,选择 “在此处打开 powerShell 窗口”,然后执行:emulator -avd Nexus_5X_API_27 -prop net.eth0.dns1=192.168.2.1 (Nexus_5X_API_27 是模拟器的名字)
方案二:
首先 确保你当前的电脑可以联网 然后打开模拟器的浏览器输入常用网址, 例如 www.baidu.com 看看是否能够联网
如果访问失败 在本机中在 cmd 中 ping www.baidu.com获得百度的 ip 地址 然后在浏览器中输入 https:// 百度的 ip 地址 看看是否能够访问
如果能够访问 那么你就遇到了和我一样的问题 请继续看
打开你的 sdk 目录中的 emulator 文件夹 按住 shift 键同时右击空白处 选择在此处打开命令窗口
然后输入 emulator @你模拟器的名字 -dns-server 8.8.8.8,114.114.114.114
这时候你的模拟器就可以启动了
方案三:
很多网友也问到为啥自己的 PC 机可以上网,而运行在 PC 机上面的 android 模拟器却不能上网呢?
是因为 PC 机的 DNS 一般为:192.168.1.1,这个只是一般而言,不是绝对,这个得自己使用 ipconfig /all 命令检查下;
而模拟器默认的 DNS 为:10.0.2.3,那么模拟器跟自己的 PC 就不在同一个网段了,使用就导致自己的 PC 机可以上网,
而模拟器不能上网,下面就简单介绍下如何设置才能让模拟器也可以上网:
首先,如果没有配置 sdk 的环境变量的,那么在 CMD 命令下进入 sdk 安装路径的 tools 目录下
(4.0 应该是进入 platform_tools 目录下),然后使用 adb shell 命令,如果配置了 sdk 的环境变量的,
那么直接在 CMD 窗口中输入 adb shell,如:C:\Documents and Settings\Administrator>adb shell
然后输入:getprop 查看系统当前的各项属性,得到模拟器的 DNS 地址,如下:
下面就是使用 setprop 命令把模拟器的 DNS 改为自己 PC 的 DNS,例如:192.168.1.1
setprop net.dns1 192.168.1.1
设置完毕,回车生效,那么现在模拟器可以上外网了,就是这么简单!
注意:这些配置是在模拟器在运行的情况下才可以。
参考文章:
https://blog.csdn.net/qingyou193301/article/details/78772148
https://blog.csdn.net/z860368871/article/details/73285978
https://blog.csdn.net/moniteryao/article/details/52588773