如何将安卓模拟器连接到互联网
Posted
技术标签:
【中文标题】如何将安卓模拟器连接到互联网【英文标题】:How to connect android emulator to the internet 【发布时间】:2011-01-03 15:23:44 【问题描述】:如何将我的 android 模拟器连接到互联网,例如使用浏览器?当您通过代理连接时,我找到了很多建议,但这里不是这种情况,我的机器(Windows 7)直接连接到路由器。
【问题讨论】:
我已将网络适配器的 dns 设置手动设置为位于 192.168.1.1 的路由器,但当我将其更改为自动时,它起作用了。 我在打开电脑上的 WiFi 之前启动模拟器时遇到了这个问题。解决方案是打开我的 Co 外层的 WiFi,然后停止/启动模拟器。 This solution will definitely work 使用此链接解决您的问题***.com/questions/50670547/… 【参考方案1】:我认为一些答案可能已经解决了这个问题,但这是对我有用的。 假设您在无线网络上并且安装了 LAN 卡时出现了问题,那么问题是模拟器试图从该 LAN 卡获取其 DNS 设置。当您通过该 LAN 连接时,这不是问题,但如果您使用无线连接,则完全没用。我在使用笔记本电脑时注意到了这一点。 那么,如何修复呢?简单:禁用您的 LAN 卡。真的。只需转到您的网络连接,找到您的 LAN 卡,右键单击它并选择禁用。现在试试你的模拟器。如果你像我一样,它突然......工作!
【讨论】:
是的,那是我的情况,我在 Win7 上使用无线,所以我关闭了模拟器,禁用了我的 LAN 卡并再次启动了模拟器,它工作了。 实际上,模拟器采用具有最高优先级的适配器,因此切换适配器的优先级(无线为最高)也应该可以工作,并且不需要您完全禁用 LAN 适配器。谢谢你的回答,让我头疼 @Anzeo:你如何在 Windows 上更改顺序? 检查您的防火墙设置 - 正如@moon_walker333 在此线程中提到的那样。 AVG 阻止了我的应用程序。 非常感谢 - 花了几个小时试图解决这个问题,并且在我禁用我的 NIC 后终于能够让它工作。仅供参考,以下是更改网络适配器优先级的方法:eightforums.com/tutorials/…【参考方案2】:如果您使用的是 Mac - 试试这个 -
-
转到 Apple 图标 -> 系统偏好设置 -> 网络
点击齿轮图标并选择“设置服务订单”
将活动界面置于其他界面之前。
重新启动 Android 模拟器。
【讨论】:
+1:这绝对是对 Mac 用户最有帮助的答案。 第3步是什么意思?我将我的虚拟设备带到了 Wi-Fi 下,我的电脑自动关机了。 @Iammesol,我相信第 3 步意味着将您的活动连接名称(例如 wifi / 以太网)拖到顶部。至少它对我有用。 澄清:对于最近的模拟器版本,“重启模拟器”意味着停止然后冷启动。关闭模拟器窗口然后再次启动模拟器(例如,从 Android Studio 运行配置)不会成功。它需要是冷启动。【参考方案3】:[编辑]
对于更新版本的 Android Studio,您需要使用的模拟器不再位于 ~/Library/Android/sdk/tools
文件夹中,而是位于 ~/LibraryAndroid/sdk/emulator
中。
如果在尝试以下解决方案时收到以下消息“PANIC: Missing emulator engine program for 'x86' CPU.”,请参考 https://***.com/a/49511666 更新您的 bash 环境。
操作系统: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 已启动,您应该可以使用互联网了。
【讨论】:
这对我有用,因为我的 Mac 丢失了它的 DNS 设置。不是模拟器的错。该 DNS 设置是从 Mac 中提取的。但是这篇文章帮助我弄清楚了。 我为此创建了一个简单的脚本,您可以查看:gist.github.com/brotoo25/246d8767982ed74ce98ed165ea099a5d【参考方案4】:我的平台:Mac OS 10.6.4 日食:3.6
我遇到了类似的问题,我的地图应用背景是灰色的(没有图块)并且浏览器无法连接到互联网。
在 Eclipse 中,我转到 Run Configurations -> Target 并添加了“-dns-server X.X.X.X
”,之后一切正常。 (显然X.X.X.X
是我的 DNS 服务器的 IP 地址)。
【讨论】:
我在“附加模拟器命令行选项”字段中添加了“-dns-server X.X.X.X”。 +1 这对我有用。我在局域网上遇到问题。我刚刚添加了公共 DNIS 8.8.8.8 并解决了它!非常感谢! 太棒了,在我的情况下,它没有在 dns 服务器上接收,因为我们使用 10.0.0.0-255 作为我们的子网,必须执行 -dns-server 10.0.0.1 (windows 7 , 也是) 非常感谢。对于(像我一样!)找不到“附加仿真器命令行选项”字段的任何人,请尝试将“目标”窗口的下边缘向下拖动。该字段对我来说是隐藏的,没有任何反馈表明它是! 使用了 Google 的 DNS 8.8.8.8,同样的方法也适用于 Ubuntu 12.04、Eclipse Juno。【参考方案5】:为了在模拟器上通过 proxy 使用互联网,请尝试以下对我有用的步骤:
转到设置->无线和网络->移动网络->接入点名称。 按菜单按钮。将出现一个选项菜单。
从选项菜单中选择新建 APN。
单击名称。为 apn 提供名称,说我的 APN。
点击 APN。输入www。
点击代理。输入您的代理服务器 IP。您可以从 Internet Explorer 的 Internet 选项菜单中获取它。
单击端口。在我的例子中输入端口号是 8080。你可以从 Internet Explorer 的 Internet 选项菜单中获取它。
单击用户名。以 domain\user-name 格式提供用户名。通常是您的系统登录。
点击密码。提供您的系统密码。
再次按下菜单按钮。将出现一个选项菜单。
按保存并尝试打开您的浏览器。我认为它对您有所帮助?
【讨论】:
我试过了,但它给出了网络错误。甚至我的系统互联网也能正常工作 如果您运行本地代理,将流量转发到需要身份验证的“官方”代理,那就更容易了。在这种情况下,使用10.0.2.2
作为代理的 IP 地址(您的主机)并根据自己的喜好配置外部代理(例如 SquidMan)。
对我不起作用..为 *** 输入什么值。?【参考方案6】:
-
右键单击 Eclipse 中的项目
选择运行方式 -> 运行配置...
选择 Android 应用程序,然后选择“目标”选项卡
寻找“Additional Emulator Command Line Options”并将这个命令行放到文本框中
-http-proxy http://:@:
【讨论】:
【参考方案7】:这个问题有不同的解决方案。其中之一,我将向您展示我的实验以及使用最近的 android studio 和 2017 年下载的 AVD 图像所看到的结果。
您要做的第一件事是从 android studio 启动您的 AVD。(在我的情况下,我选择 NEXUSAPI25 android 7.1 映像)
转到设置->无线和网络->蜂窝网络->接入点->(+)按添加->如果您根本没有NTLM代理或代理,请输入以下内容(这意味着你是直接连接的)
一个。将 apn 名称添加为 myAPN 湾。添加 apn 服务器 => www C。保存并尝试浏览互联网。
如果这不起作用,请在您的环境变量中添加“ANDROID_SDK_ROOT”
然后,使用模拟器命令启动 AVD,如下所示
模拟器 -avd Nexus25 -dns-server 8.8.8.8
对于那些使用 NTLM 代理的人,接下来我将向您展示它是如何为我工作的。
将您的 Android_sdk_root 路径添加到您的环境变量中。这使得命令行代码像使用 AVD 名称等一样成功读取。
使用以下命令启动您的模拟器
>模拟器 -avd Nexus_5X_API_25 -http-proxy http://username:password@ipaddress:port
回车
【讨论】:
-dns-server
解决了它。有什么方法可以在 UI 中设置吗?【参考方案8】:
就我而言,我只需要从“Android SDK 和 AVD 管理器”启动 Android 虚拟设备 (AVD),它就可以工作了
【讨论】:
是的,这对我有用。我只是在运行应用程序,它触发我启动 AVD...【参考方案9】:您是否尝试过使用管理员权限启动模拟器?它对我有用,我运行的是 Windows 7 64 位)
【讨论】:
我也在运行 Windows 7 64 位。我尝试以管理员身份启动 Eclipse,以管理员身份启动 AVD Manager,但均未成功。我是否必须以管理员身份从命令行启动它? 遇到了同样的问题,以管理员权限运行解决了我在 Windows 10 上的问题。【参考方案10】:如果您在 SDK 管理器中的 Tools -> Options
下使用代理,请不要配置代理设置。
从命令行运行时添加-http-proxy
:
emulator.exe -avd YOUR_AVD_NAME_HERE -http-proxy PROXY:PORT
为我工作。
【讨论】:
这是唯一对我有用的解决方案。请记住,当您在 SDK 管理器设置中关闭代理配置时,您将无法访问 SDK 更新,因此您需要在构建应用程序时重新启用代理设置。 是否有保存代理配置的配置文件,所以我们可以从 AVD 管理器运行它?不是来自命令提示符?【参考方案11】:我也遇到了同样的问题。 我发现的最简单的解决方案是:
转到您的 Android\Sdk\emulator 文件夹并打开命令提示符。 输入emulator -list-avds
以查看可用的模拟器名称。
输入emulator -avd name-of-your-device -netdelay none -netspeed full
-dns-server 8.8.8.8
命令并回车。
【讨论】:
【参考方案12】:我第一次运行模拟器时遇到这个问题,我通过设置dns服务器解决了这个问题
Library/Android/sdk/platform-tools/adb shell getprop net.dns1
获取模拟器10.0.2.3
当前的dns服务器
然后将其设置为我的局域网 dns 服务器
Library/Android/sdk/platform-tools/adb shell setprop net.dns1 192.168.1.1
【讨论】:
在 Android 25 上工作。应该接受这个答案!【参考方案13】:我有类似的问题。我已经安装了一个需要 INTERNET 权限的应用程序(并使用它),并且突然之间,工作正常。
伙计们,还要检查你是否没有通过某个地方的 *** 连接,因为它也会干扰 Internet 连接。
白兰地
【讨论】:
【参考方案14】:在 Eclipse 中转到 DDMS
在 DDMS 下选择 Emulator Control,其中包含 电话状态 在电话状态中包含 data --> 选择 Home ,这将启用您的 Internet 连接,如果您想禁用 Emulator 的 Internet 连接然后 ---> 选择 None
(注意:仅当您运行 Eclipse 的 PC/笔记本电脑具有活动的 Internet 连接时,这才会启用 Internet 连接。)
【讨论】:
【参考方案15】:阅读本文后,我决定查看我的“NIC”。我把它放在引号中是因为像许多人一样,我正在为 Hamachi 和 Virtual Box 等设备运行虚拟网卡。禁用 Hamachi 后,我可以使用互联网。我的猜测是,无论它是否是虚拟的,模拟器都会选择第一个可用的网卡。现在看看我是否可以在不拆箱的情况下重新安排我的 nic 订单。
Windows 7 32 位
【讨论】:
【参考方案16】:我的服务订单首选项正确(首先是 Wi-Fi),但仍然无法连接。
答案是关闭 Thunderbolt Bridge:
系统偏好设置 > 网络 > Thunderbolt Bridge
然后将配置 IPv4 设置为关闭并应用您的更改。
无需在模拟器中使用接入点。
【讨论】:
这里也一样。我必须将所有服务设置为“配置 IPv4:关闭”,并且只启用 WiFi。仅移动服务订单似乎还不够。卡特琳娜 10.15.4.【参考方案17】:我解决了这个问题,我禁用了除我正在使用的 wifi 连接之外的所有网络连接,然后将剩余启用的连接上的属性设置为具有静态分配的 DNS 地址。 (无 DHCP)这是在 Win7 64 位上
【讨论】:
【参考方案18】:感谢指点。他们真的有帮助。 “防火墙”这个词在我脑海中点击了一个想法。
我有一台带有 WIFI 连接但没有代理的 Windows XP 机器。我的机器上运行着 Norton Internet Security,它有一个智能防火墙。此智能防火墙管理程序对网络的访问,包括 emulator.exe。我进入设置-> 程序控制,然后授予对 emulator.exe 的完全访问权限。在此之后,我启动了 Android Emulator 并砰的一声……我可以连接到互联网。
希望这对新人有所帮助。
~下垂
【讨论】:
是的 - 防火墙是我的问题 (AVG)。好地方! 我在卡巴斯基遇到了同样的问题!【参考方案19】:在 Android 模拟器中,打开飞行模式,然后再次关闭对我有用。
【讨论】:
【参考方案20】:如果您使用的是 2.2 的 MacOS,并且一直看到有关数据连接的错误,请尝试上述方法,它可以工作。
我通过 Sys Prefs 删除了除 LAN 之外的所有网络接口 即使我的 DNS 是由 DHCP 提供的,我还是用一台服务器重新输入了 DNS 我在命令行中使用了-http-proxy来指定一个它开始在办公室工作。唷。
【讨论】:
【参考方案21】:我认为有时只需重新启动虚拟设备就足够了。 :-)
【讨论】:
【参考方案22】:我在虚拟 Windows 7 上遇到了同样的问题。
-
转到网络连接
Alt > 高级 > 高级设置...
在第二个选项卡中,将 Internet 网络接口置于顶部
希望对你有帮助 感谢
【讨论】:
【参考方案23】:是的——在 win 7 中使用管理员权限启动模拟器,一切都会好起来的——或者至少你会在 android 中启动无线。
【讨论】:
【参考方案24】:我在 Win7 64 位上遇到了类似的问题。尝试禁用我的 hamachi 和 virtualbox 适配器但没有用。尝试以管理员身份启动 avd 并没有用。最后,我使用此站点上的信息禁用了 teredo 隧道适配器并且它起作用了: http://www.mydigitallife.info/2007/09/09/how-to-disable-tcpipv6-teredo-tunneling-in-vista/
【讨论】:
开始工作后又停止了。 ipconfig 显示了一个名为 isatap 的新 Microsoft 适配器。所以我进入设备管理器 > 网络适配器 > 显示隐藏设备,并禁用了 3 个 isatap 适配器,然后它又开始工作了。【参考方案25】:在我将开发机器从 Vista x64 重建到 Win7 x64 后,我发现使用“擦除用户数据”启动模拟器为我解决了这个问题。
【讨论】:
【参考方案26】:似乎有几个原因可能导致模拟器没有互联网连接,在我的情况下,我在家工作,我有无线连接,然后进入办公室并直接插入,但是虽然我的无线连接被断开它没有被禁用导致没有模拟器连接。我的理解是,当它启动时,它会寻找一个网络适配器,如果这里有任何冲突,它可能会导致没有互联网连接。要解决,请转到“开始”>“设置”>“网络连接”,右键单击“无线网络连接”(如果您不使用无线)并选择“禁用”
【讨论】:
【参考方案27】:我没有使用代理...但是我使用的是脚本...无论如何都可以解决这个问题。我在公司防火墙后面
【讨论】:
你找到解决办法了吗?【参考方案28】:我不确定这是否是您的问题,但这是我解决问题的方法。
我在启动模拟器时总是出现“未找到 DNS 服务器”错误,并且在 google 上进行了大量研究但无济于事。无论如何,我在某处发现了一个帖子(再也找不到了),上面说 NIC 的数量、DNS 条目的数量可能会影响模拟器。此外,知道模拟器使用 Windows API 函数 (GetNetworkParams()) 来解析 DNS 条目,我不能依赖 %WINDOWS%\System32\Hosts 文件。
但是,我确实进入了 NIC 属性(在 Windows 7 上),发现我指定了静态 IP,但没有指定 DNS 条目。因此,我从路由器获取了 DNS 条目并将它们插入 NICs 属性。我重新启动了模拟器,它现在正在使用正确的 DNS 条目!
我现在可以在模拟器上使用我的互联网连接了,效果非常好!
希望对你有帮助!
【讨论】:
【参考方案29】:我以为我在将模拟器连接到互联网时遇到了问题,但结果证明是我使用的代码有问题。我知道这很明显,但首先尝试模拟器上的浏览器以确认您没有互联网访问权限。如果我先这样做,我会节省一个小时。
【讨论】:
【参考方案30】:我有 Mac OS X 10.7.2,Eclipse Helios Service Release 2。我也通过代理工作,我的 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 时它起作用了。另外我想指出,如果不滚动到该窗口的底部,则其他仿真器命令行选项不可见。我还想指出,当您更改模拟器选项时,所有应用程序都可以运行。但是,如果您编写 Additional Emulator Command Line Options,则每次都需要为 Run Configurations 中的每个应用程序目标编写它们。
【讨论】:
以上是关于如何将安卓模拟器连接到互联网的主要内容,如果未能解决你的问题,请参考以下文章
【转】Android Studio安卓模拟器不能联网的解决方案