我浪费了一整天的时间尝试在SO和其他地方漂浮的不同解决方案,以便在Android模拟器上启用wifi,但无济于事。 任何人都可以帮我弄清楚如何在我的Android模拟器上启用互联网?
我有Nexus 5X API 27,目标是Android 8.1(Google Play) 和Nexus 5 API P和目标是Android 7.1.1。
我认为应该有办法在互联网上启用互联网,否则在模拟器上提供虚拟wifi的重点似乎就是浪费。
我在mac OS HS 10.13.4上直接连接到我的路由器而没有代理。
我甚至尝试删除所有avds,重新安装它们。我甚至尝试使用Oreo Android 8.1安装最新的Pixel 2
似乎没有任何效果。有人遇到过这个问题并找到了解决方案吗?
任何帮助都会有很大的帮助
谢谢, 维克拉姆
更新:当我通过手机将我的电脑连接为热点wifi时,模拟器通过wifi连接互联网,但是当我将电脑连接到家用路由器时失败了。
答案 0 :(得分:39)
下面说明的是适用于Windows和Mac的解决方案,但是类似的解决方案也可以在任何操作系统中使用:
在Windows上
将“首选”和“备用DNS”服务器设置为(如下屏幕截图):
8.8.8.8
8.8.4.4
在Mac上
删除那里的所有条目,然后添加这两个条目(下面的屏幕截图):
8.8.8.8
8.8.4.4
重新启动模拟器,它应该可以解决:
屏幕截图:
编辑:这是针对当模拟器的wifi已将DNS更改为8.8.8.8以外的DNS的情况的解决方案。 时间,可能还有其他原因可能无法从该解决方案中解决。
答案 1 :(得分:22)
@TheBaj:我想到了这个问题并修复了它。问题是当你通过路由器连接时,你的模拟器中的androidwifi使用设置并将DNS设置为8.8.8.8以外的其他东西,这是谷歌DNS(我认为这是androidwifi获得互联网的强制性设置访问)。但是,如果我在我的网络设置中更改DNS,那么获取依赖关系的google-services插件(尤其是从jcenter()
下载的依赖项将不会被下载,因此您的同步将失败,最终导致您的构建失败
所以诀窍是你在默认路由器设置后在你的网络设置中配置了你的谷歌DNS(8.8.8.8) - 这部分负责从jcenter()
下载依赖项,同步和构建成功。
现在从终端启动带有emulator @Nexus_5X_API_27 -dns-server 8.8.8.8
命令的模拟器,强制模拟器使用8.8.8.8作为其DNS,模拟器将具有互联网。
我正在开发一个本机应用程序,所以对我来说android studio是不必要的,我已经配置了我的bashrc以启动不同的模拟器,如下所示,
function emunex5 {
emulator @Nexus_5X_API_27 -dns-server 8.8.8.8
}
function emunex6 {
emulator @Nexus_6_API_27 -dns-server 8.8.8.8
}
function emupix {
emulator @Pixel_XL_API_27 -dns-server 8.8.8.8
}
所以从一个终端我启动我选择的模拟器,然后在另一个终端上运行构建,该终端在启动的模拟器上运行我的应用程序,我的FREAKING EMULATOR有互联网访问。 :)
试试这个,我希望这有帮助。
谢谢, 维克拉姆
答案 2 :(得分:18)
似乎这个问题的先前答案在 2021 年不再有效(使用 Android Studio 4.1.2)。问题是模拟器上的 DNS 设置。仅更改本地 PC 上的 DNS 服务器不再有效。您必须在模拟器中更改 DNS 设置。以下步骤适用于运行 Android 11 的模拟器。其他版本类似:
在我尝试了此页面和许多其他解决方案上的所有其他解决方案失败后,这为我解决了这个问题。我希望它对你有用。
答案 3 :(得分:14)
我使用Mac OSX 10.13的解决方案
我了解到它是由LAN卡和WiFi启用引起的,而且某些方法对我来说似乎很复杂,所以我只是尝试了一下,它就起作用了:
答案 4 :(得分:9)
答案 5 :(得分:8)
在macOS上:
答案 6 :(得分:6)
Windows解决方案:
emulator -avd Nexus_4_API_29 -gpu host -dns-server 8.8.8.8
。这里的Nexus_4_API_29
是您的模拟器设备名称(您可以从Android Studio-> AVD Manager中找到设备列表)。此命令将运行您指定的设备,并且WIFI将已连接Internet。希望这会有所帮助。
答案 7 :(得分:5)
在Mac OSX(对我而言,Catalina)上,问题是由于模拟器通过查看/etc/resolv.conf并选择第一个(在我的情况下为IPv6地址)而自动选择了名称服务器。来源:https://developer.android.com/studio/run/emulator-networking#dns
只需编辑文件(sudo vi /etc/resolv.conf),然后将IPv4地址(在我的情况下为192.168.1.1)移到IPv6地址之前的第一个。说真的,就是这样。
答案 8 :(得分:3)
我希望我能减轻一些人的痛苦,我尝试了一切这里每个人都说的,更改了每个网络适配器的DNS,重新安装了所有东西,SDK,模拟器,甚至android studio,什么都没有成功了,如果您发现自己处于同一位置,请检查您是否安装了 VMware,如果安装了,请不要理会 DNS,只需进入 控制面板-> 网络和共享中心-> 更改适配器设置,然后禁用任何和所有 VMware 网络适配器,然后冷启动,立即修复问题,您甚至可以稍后启用它们,它仍然有效
答案 9 :(得分:3)
100%在Windows 10上运行
Android AVD带有在模拟器内部配置的Google DSN。 因此,我们需要将其设置为网络共享才能访问它。
Google公共DNS IP地址 Google公共DNS IP地址(IPv4)如下:
8.8.8.8
8.8.4.4
Google公共DNS IPv6地址如下:
2001:4860:4860 :: 8888 2001:4860:4860 :: 8844 您可以将地址用作主DNS服务器或辅助DNS服务器。
这里显示设置v4 IP步骤
注意:如果启用了VPN,则将无法正常工作,需要断开您的VPN
答案 10 :(得分:3)
也许这会对某人有所帮助。我尝试了以上所有解决方案。更改DNS,冷启动等。经过几个小时的反复试验,我去了官方文档,该文档说模拟器选择了DNS配置。模拟器启动时主机的状态。 我的计算机上安装了VMWare,该计算机上安装了一些网络适配器。因此,我刚刚更改了DNS配置。所有适配器(包括VMWare适配器)中,然后冷启动了我的仿真器。 OMG,这个问题似乎没有消失数小时,只是解决了!
现在,我发现奇怪的是,我重新切换了DNS配置。所有适配器都自动运行,然后再次冷启动我的模拟器。 WiFi仍然可以正常工作。 操作系统:Windows 10。
答案 11 :(得分:2)
答案 12 :(得分:1)
如果有人快速修复:
步骤 1:转到 AVD 管理器
第 2 步:停止设备
第 3 步:运行 Android Studio 项目
答案 13 :(得分:1)
在Windows上:
在测试了一些解决方案之后,我通过单击AVD上的向下箭头选项“ Cold Boot Now”找到了我的解决方案。 启动后,Android可以访问互联网,因此对我有用。
答案 14 :(得分:1)
如果已连接任何VPN,请尝试断开连接。
对我来说,它是通过Cisco AnyConnect Secure Mobility Client
的VPN。一旦我关闭了Cisco客户端(可终止VPN连接),Android模拟器上的WiFi就开始工作。
答案 15 :(得分:1)
我遇到了同样的问题 - 在模拟器中,我已连接到 wifi/lte,但无法访问任何网站。
我的解决方案是修复我的家庭 DNS 服务器的 IP:
$ cat /etc/resolv.conf
search home
nameserver 192.168.1.1 #was 192.168.0.1 - it used to work when I was connected to a different router
nameserver 1.1.1.1
nameserver 1.0.0.1
你真的不需要使用 google dns
答案 16 :(得分:0)
Apple M1 问题的解决方案:
这是 android studio 发布列表的链接: https://developer.android.com/studio/archive
(为我工作)
答案 17 :(得分:0)
对于新的搜索者用户: 有时VPN是您的解决方案 总是由于网络问题而无法更改网络设置。 如果您使用的是Google不在这些区域响应的ip地址,则您的解决方案使用的是vpn。请使用适当的vpn(通过该vpn的vpn,您可以更新android studio)。当然,仿真器的api级别很重要,例如我对api 22没问题,但是对于api 28则需要使用vpn!)。这是我关于android模拟器互联网的经验。
答案 18 :(得分:0)
这可能无法解决每个人的问题,但我断开了 wifi 并使用了以太网连接。这解决了我的问题。
答案 19 :(得分:0)
在 Android Studio 4.2 上,我遇到了模拟器 Wifi/LTE 已连接但没有互联网的问题。
对我不起作用的解决方案:打开和关闭 Wifi、设置位置/代理、冷启动、擦除数据、VPN 等。其他解决方案均无效。
对我有用的解决方案:升级到 Android Studio 4.2.1 并重新启动模拟器。
答案 20 :(得分:0)
答案 21 :(得分:0)
我遇到了类似的问题,有点奇怪。模拟器曾经工作得很好,但后来我去了一家咖啡馆并连接到他们的 wifi,然后模拟器 wifi 停止工作。我从 AVD 管理器中擦除了冷启动的数据,然后一切正常,设置没有任何变化。我想冷启动只能在不擦除数据的情况下工作,所以你可以在擦除数据之前尝试一下。
答案 22 :(得分:0)
对我有用的东西
答案 23 :(得分:0)
如果wifi位置已更改,只需重新启动模拟器即可使模拟器从dhcp服务刷新网络设置。
答案 24 :(得分:0)
在Android模拟器上重置网络设置可解决此问题。
答案 25 :(得分:0)
通过右键单击虚拟设备列表擦除数据并进行冷启动。
答案 26 :(得分:0)
如果可用,请尝试使用LAN。这对我来说是一种魅力...
答案 27 :(得分:0)
更改模拟器的位置并将其设置为当前位置。
步骤:-
答案 28 :(得分:-1)
一个简单的冷启动对我有用,无需启动其他仿真器或擦除内存。
只需关闭模拟器,然后在播放按钮旁边的下拉菜单上选择“立即启动”选项即可。如果没有找到此处列出的任何更全面的选项,但我建议始终从最简单的解决方案开始。
祝你好运!