如何将Android模拟器连接到互联网


272

如何将Android模拟器连接到互联网,例如使用浏览器?我已经找到了许多有关通过代理连接时如何处理的建议,但事实并非如此,我的计算机(Windows 7)直接连接到路由器。


1
我将网络适配器的dns设置手动设置为192.168.1.1的路由器,但是当我将其更改为auto时,它可以工作。
rwilson04年

在打开计算机上的WiFi之前,启动模拟器时遇到了这个问题。解决方法是打开我的Co外部的WiFi,然后停止/启动模拟器。
ban-geoengineering


使用这个链接来解决问题乌尔stackoverflow.com/questions/50670547/...
kallayya Hiremath

Answers:


289

我认为某些答案可能已经解决了这个问题,无论它是多么倾斜,但是这对我有用。

假设您在无线网络上并且安装了LAN卡时发生问题,那么问题是模拟器试图从该LAN卡获取其DNS设置。通过该LAN进行连接时不是问题,但如果使用无线连接则完全没有用。当我在笔记本电脑上时,我注意到了这一点。

那么,如何解决?简单:禁用您的LAN卡。真。只需转到您的网络连接,找到您的LAN卡,右键单击它并选择禁用。现在尝试您的模拟器。如果你像我,那突然...起作用了!


2
是的,这就是我的情况,我在Win7上使用无线功能,因此我关闭了仿真器,禁用了我的LAN卡,然后再次启动了仿真器,它可以正常工作。
米娜·萨米

2
实际上,仿真器将适配器的优先级设置为最高,因此切换适配器的优先级(将无线设置为最高)也应该起作用,并且不需要完全禁用LAN适配器。不过,感谢您的回答,这让我头疼
thomaux 2011年

1
@Anzeo:以及如何在Windows上更改顺序?
马丁

1
检查防火墙设置-正如@ moon_walker333在此线程中提到的那样。AVG阻止了我的申请。
ccbunney

1
非常感谢-花了几个小时尝试解决此问题,并且一旦禁用NIC,终于能够使它正常工作。仅供参考,这里是你如何改变网络适配器的优先级:eightforums.com/tutorials/...
znelson

84

如果您使用的是Mac,请尝试以下操作-

  1. 转到Apple图标->系统偏好设置->网络
  2. 点击上的齿轮图标,然后选择“设置服务订单”
  3. 将活动接口置于其他接口之前。
  4. 重新启动Android模拟器。

4
+1:对于Mac上的用户,这绝对是最有用的答案。
2013年

5
第3步是什么意思?我将虚拟设备置于Wi-Fi之下,并且计算机自行关闭。
Iammesol 2015年

3
@Iammesol,我相信第3步意味着将您的活动连接名称(例如wifi /以太网)拖到顶部。至少对我有用。
Himel Nag Rana

62

这是使用Android Studio的开发人员的答案。

操作系统:Mac OS X El Capitan

IDE:Android Studio 2.2

由于某些原因,我无法在工作时通过我的AVD访问互联网(可能是代理或网络配置问题)。对我来说,诀窍是在命令行中启动我的AVD并手动提供Google公共DNS 8.8.8.8。

在终端中,转到Android SDK的文件夹工具以找到“模拟器”程序:

cd ~/Library/Android/sdk/tools

然后检索您的AVD的名称:

emulator -list-avds

它将返回以下内容:

Android_Wear_Round_API_23
Nexus_10_API_22
Nexus_5X_API_22
Nexus_5X_API_24
Nexus_9_API_24

然后按照以下说明启动您想要的AVD:

emulator -avd NameOfYourDevice -dns-server 8.8.8.8

AVD已启动,您应该可以使用Internet。


这对我有用,因为我的Mac丢失了DNS设置。不是模拟器的错。该DNS设置是从Mac提取的。但是这篇文章帮助我弄清楚了。
ezaspi

我已经创建了一个简单的脚本来执行此操作,您可以在以下位置
Brotoo25 '19

57

我的平台:Mac OS 10.6.4 Eclipse:3.6

我遇到了类似的问题,其中我的地图应用背景为灰色(无图块),并且浏览器无法连接到互联网。

在Eclipse中,我转到“运行配置->目标”并添加了“ -dns-server X.X.X.X”,之后一切正常。(显然X.X.X.X是我的DNS服务器的IP地址)。


6
我在“其他仿真器命令行选项”字段中添加了“ -dns-server XXXX”
Jeremy Kie 2010年

5
+1这对我有用。我在局域网上遇到问题。我刚刚添加了公共DNIS 8.8.8.8,它就解决了!谢谢一群!
J.Hendrix 2011年

太棒了,在我的情况下,它没有在dns服务器上启动,因为我们使用的是10.0.0.0-255作为我们的子网,所以不得不做-dns-server 10.0.0.1(也是Windows 7)
Thomas Dignan

3
非常感谢。对于任何人(像我一样!)找不到“其他仿真器命令行选项”字段的情况,请尝试将“目标”窗口的下边缘向下拖动。该字段对我来说是隐藏的,没有反馈表明它是!
克里斯·奈特

使用了Google的DNS 8.8.8.8,同样的方法也适用于Ubuntu 12.04,Eclipse Juno。
pm_labs 2012年

25

为了通过模拟器上的代理使用Internet,请尝试以下对我有用的步骤:

转到设置->无线和网络->移动网络->接入点名称。按菜单按钮。将出现一个选项菜单。

从选项菜单中选择“新建APN”。

单击名称。提供名称给apn说“我的APN”。

单击APN。输入www。

单击代理。输入您的代理服务器IP。您可以从Internet Explorer的Internet选项菜单中获取它。

单击端口。在我的情况下输入端口号是8080。您可以从Internet Explorer的Internet选项菜单中获取端口号。

单击用户名。以域\用户名格式提供用户名。通常是您的系统登录。

点击密码。提供您的系统密码。

再按一次菜单按钮。将出现一个选项菜单。

按“保存”,然后尝试打开浏览器。我认为这对您有帮助吗?


我试过但是它给出了网络错误。甚至我的系统互联网都可以正常工作
Sandeep vashisth

3
如果您运行的本地代理将流量转发到需要身份验证的“官方”代理,则更加容易。在这种情况下10.0.2.2,请根据您的喜好将其用作代理的IP地址(您的主机),并配置外部代理(例如SquidMan)。
托马斯·凯勒2015年

对我不起作用。.如何为VPN输入价值??
2015年

17
  1. 右键单击Eclipse中的项目
  2. 选择运行方式->运行配置...
  3. 选择Android应用程序,然后选择“目标”标签
  4. 查找“其他仿真器命令行选项”,然后将此命令行放入文本框

    -http-proxy http:// <用户名>:<密码> @ <主机名>:<端口>


12

这个问题有不同的解决方案。其中之一,我将向您展示我的实验以及使用最新的android studio和2017年下载的AVD图像在结果中看到的结果。

  1. 您要做的第一件事是从android studio启动AVD。(就我而言,我选择NEXUSAPI25 android 7.1图像)

  2. 转到设置 ->无线和网络->蜂窝网络->接入点->(+)按添加->如果根本没有NTLM代理或代理,则输入以下内容(这意味着您已直接连接)

    一个。将apn名称添加为myAPN。添加apn服务器=> www c。保存并尝试浏览互联网。

如果这样做不起作用,请在环境变量中添加“ ANDROID_SDK_ROOT”

然后,使用模拟器命令启动AVD,如下所示

emulator -avd Nexus25 -dns-server 8.8.8.8
  1. 对于那些使用NTLM代理的人,接下来我将向您展示它如何为我工作。

  2. 将您的Android_sdk_root路径添加到您的环境变量中。这使命令行代码可以像使用AVD名称一样成功读取。

  3. 使用以下命令启动您的emaulator

>仿真器-avd Nexus_5X_API_25 -http-proxy http:// username:password @ ipaddress:port

输入

在此处输入图片说明

在此处输入图片说明


1
-dns-server解决了。有什么方法可以在用户界面中进行设置吗?
serv-inc

11

您是否尝试过使用管理特权启动模拟器?它对我有用,我正在运行Windows 7 64bit)


我也正在运行Windows 7 64bit。我尝试以admin身份启动Eclipse,以admin身份启动AVD Manager,但两者均无效。我是否必须以管理员身份从命令行启动它?
丹尼(Danny)2012年

遇到同样的问题,以管理员权限运行解决了我的问题在Windows 10
阿卜杜勒甘露

10

就我而言,我只需要从“ Android SDK and AVD Manager”启动Android虚拟设备(AVD),它就可以正常工作


1
是的,这对我有用。.我刚运行该应用程序,它触发了我启动AVD的工作
Swapnil Kale

10

如果您在SDK Manager中的代理后面Tools -> Options,请不要配置代理设置。当您从命令行运行时,添加-http-proxy

emulator.exe -avd YOUR_AVD_NAME_HERE -http-proxy PROXY:PORT

为我工作。


这是唯一对我有用的解决方案。请记住,当您在SDK Manager设置中关闭代理配置时,您将无法访问SDK更新,因此在构建应用程序时需要重新启用代理设置。
AlanKley

是否有一个保存代理配置的配置文件,因此我们可以从AVD管理器中运行它?不是从命令提示符?
projo 2016年

8

我第一次运行模拟器时遇到了这个问题,我通过设置dns服务器解决了

Library/Android/sdk/platform-tools/adb shell getprop net.dns1

获取模拟器的当前DNS服务器 10.0.2.3

然后将其设置为我的局域网DNS服务器

Library/Android/sdk/platform-tools/adb shell setprop net.dns1 192.168.1.1

在Android 25上工作。应该接受这一答案!
James Yang

7

我也遇到了同样的问题。我发现的最简单的解决方案是:

  • 转到您的Android \ Sdk \ emulator文件夹,然后打开命令提示符。
  • 键入emulator -list-avds以查看可用的仿真器名称。
  • 键入emulator -avd name-of-your-device -netdelay none -netspeed full -dns-server 8.8.8.8命令并按回车键。

6

我有类似的问题。我已经安装了一个需要INTERNET权限的应用程序(并使用了它),突然之间,它开始工作。

伙计们,还要检查您是否未通过某处的VPN连接,因为它还会干扰Internet连接。

布拉卡尼亚


6

在日食中去DDMS

DDMS下,选择Emulator Control,其中包含电话状态,然后 在电话状态中包含数据 ->选择Home,这将启用您的Internet连接,如果要禁用Emulator的Internet连接,则--->选择None。

(注意:仅当运行Eclipse的PC /笔记本电脑具有活动的Internet连接时,这才启用Internet连接。)


4

看完这篇文章后,我决定看一下我的“ NIC”。我将其用引号引起来,因为像许多其他设备一样,我正在为Hamachi和Virtual Box等设备运行虚拟nic。禁用Hamachi后,我便可以使用Internet。我的猜测是,仿真器会选择第一个可用的nic,而不管它是否是虚拟的。现在,找出是否可以在不拆箱的情况下重新排列网卡顺序。

Windows 7 32位


4

我的服务订单偏好设置是正确的(首先是Wi-Fi),但仍然无法连接。

答案是关闭Thunderbolt桥:

系统偏好设置>网络> Thunderbolt Bridge

然后将“配置IPv4”设置为“关闭”并应用您的更改。

无需拧紧仿真器中的访问点。


同样在这里。我必须将所有服务设置为“ Configure IPv4:off”,并且仅启用WiFi。仅移动服务订单似乎还不够。卡塔琳娜10.15.4。
奥利弗·梅斯

3

我解决了该问题,我禁用了除我正在使用的wifi连接之外的所有网络连接,然后将剩下的一个启用的连接上的属性设置为具有静态分配的DNS地址。(没有DHCP)这是在Win7 64位上


3

感谢您的指导。他们真的提供了帮助。“防火墙”一词使我想到了一个主意。

我有一台具有WIFI连接且没有代理的Windows XP计算机。我的计算机上运行了具有智能防火墙的Norton Internet Security。此智能防火墙管理程序对网络的访问,包括emulator.exe。我进入设置->程序控制,然后授予对emulator.exe的完全访问权限。在此之后,我启动了Android Emulator并开始...我可以连接到互联网。

希望这对新人有所帮助。

〜下垂


是的-防火墙是我的问题(AVG)。好地方!
ccbunney

卡巴斯基遇到了同样的问题!
Behrouz.M 2014年

2

如果您在使用2.2的MacOS上,并且仍然看到有关数据连接的错误,请尝试上面的方法,它可以工作。

  • 我通过Sys Prefs删除了除LAN之外的所有网络接口
  • 甚至以为我的DNS由DHCP提供,我只用一台服务器重新输入了DNS
  • 我在命令行上使用了-http-proxy来指定一个

它开始在办公室工作。ew


2

我认为有时只是简单地重新启动虚拟设备就很困难了。:-)


2

我在虚拟Windows 7上遇到了同样的问题。

  1. 转到网络连接
  2. Alt>高级>高级设置...
  3. 在第二个标签中,将互联网网络界面置于顶部

希望对您有所帮助


2

在Android模拟器中,打开飞行模式,然后再次关闭对我有用。


1

是的-在win 7中使用管理员privs启动模拟器,一切都会好起来-至少您将在android中获得无线功能。


1

我在Win7 64位上有类似的问题。尝试禁用我的hamachi和virtualbox适配器,但无法正常工作。尝试以管理员身份启动avd,但没有任何效果。最后,我使用此站点上的信息禁用了teredo隧道适配器,并且可以正常工作:http : //www.mydigitallife.info/2007/09/09/how-to-disable-tcpipv6-teredo-tunneling-in-vista /


开始工作后,它再次停止。ipconfig显示出现了一个新的Microsoft适配器,称为isatap。因此,我进入了设备管理器>网络适配器>显示隐藏的设备,并禁用了3个isatap适配器,然后它又开始工作。
Martin Bayly 2010年

1

我发现在选中从“擦除用户数据”启动模拟器后,将我的开发机从Vista x64重建为Win7 x64后,为我解决了这个问题。


1

似乎有一些原因可能导致模拟器没有互联网连接,在我的情况下,我是在家中工作,那里有无线连接,然后进入办公室并直接插入,但是尽管我的无线连接已断开没有禁用它,导致没有仿真器连接。我的理解是,启动时它会寻找网络适配器,如果这里有任何冲突,可能会导致没有互联网连接。要解决此问题,请转到“开始”>“设置”>“网络连接”,右键单击“无线网络连接”(如果您未使用无线),然后选择“禁用”



0

我不确定这是否是您的问题,但是这就是我的固定方法。

启动模拟器时,我始终会遇到此“找不到DNS服务器”错误,并且在Google上进行了大量研究都无济于事。无论如何,我在某个地方找到了一个帖子(找不到了),该帖子说NIC的数量,DNS条目的数量可能会影响模拟器。另外,知道模拟器使用Windows API函数(GetNetworkParams())来解析DNS条目,所以我不能依赖%WINDOWS%\ System32 \ Hosts文件。

但是,我确实进入了NIC属性(在Windows 7上),发现我指定的是静态IP,但没有DNS条目。因此,我从路由器获得了DNS条目,并将其插入NICs属性。我重新启动了模拟器,它现在正在使用正确的DNS条目!

我现在可以将我的Internet连接与仿真器一起使用,它的工作原理令人惊奇!

希望能帮助到你!


0

我以为我将模拟器连接到Internet时遇到了问题,但事实证明这是我所使用的代码的问题。我知道它很明显,但是首先尝试在模拟器上浏览器以确认您没有Internet访问。如果我先节省一个小时的话。


0

我有Mac OS X 10.7.2,Eclipse Helios Service Release2。我也通过代理工作,我的IP设置是通过DHCP。我首先使用这篇文章解决了此问题http://www.gitshah.com/2011/02/android-fixing-no-internet-connection.html,然后删除了模拟器设置,然后转到运行->运行配置->目标->其他模拟器命令行选项,然后在此处输入-http-proxy xxx.xx.111.1:3128。我还要说的是,当我也键入这样的DNS时:-dns-server xxx.xx.111.1 -http-proxy xxx.xx.111.1:3128它不起作用,但是当我删除DNS时它起作用。我还要指出的是,如果不滚动到该窗口的底部,则看不到“附加仿真器命令行选项”。我还想指出,当您更改仿真器选项时,所有应用程序都将运行。但是,如果您编写其他仿真器命令行选项,则需要每次在运行配置中为每个应用程序目标编写它们。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.