如何将我的 Android 模拟器连接到互联网,例如使用浏览器?我找到了很多关于通过代理连接时该怎么做的建议,但这里不是这种情况,我的机器(Windows 7)直接连接到路由器。
我认为一些答案可能已经解决了这个问题,但这是对我有用的。假设当您在无线网络上并且安装了 LAN 卡时出现问题,则问题是模拟器尝试从该 LAN 卡获取其 DNS 设置。当您通过该 LAN 连接时,这不是问题,但如果您使用无线连接,则完全没用。当我在笔记本电脑上时,我注意到了这一点。那么,如何修复呢?简单:禁用您的 LAN 卡。真的。只需转到您的网络连接,找到您的 LAN 卡,右键单击它并选择禁用。现在试试你的模拟器。如果你像我一样,它突然......工作!
如果您使用的是 Mac - 试试这个 -
转到 Apple 图标 -> 系统偏好设置 -> 网络 点击齿轮图标并选择“设置服务顺序” 将活动界面置于其他界面之前。重启安卓模拟器。
[编辑] 对于更新版本的 Android Studio,您需要使用的模拟器不再位于 ~/Library/Android/sdk/tools
文件夹中,而是位于 ~/LibraryAndroid/sdk/emulator
中。如果在尝试以下解决方案时收到以下消息“PANIC: Missing emulator engine program for 'x86' CPU.”,请参阅 https://stackoverflow.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 OS 10.6.4 Eclipse:3.6
我有一个类似的问题,我的地图应用程序背景是灰色的(没有图块)并且浏览器无法连接到互联网。
在 Eclipse 中,我转到了运行配置 ->定位并添加“-dns-server X.X.X.X
”,之后一切正常。 (显然 X.X.X.X
是我的 DNS 服务器的 IP 地址)。
为了通过模拟器上的代理使用互联网,请尝试以下步骤,它对我有用:
转到设置->无线和网络->移动网络->接入点名称。按菜单按钮。将出现一个选项菜单。
从选项菜单中选择新建 APN。
单击名称。为 apn 提供名称说我的 APN。
单击 APN。输入万维网。
单击代理。输入您的代理服务器 IP。您可以从 Internet Explorer 的 Internet 选项菜单中获取它。
单击端口。在我的例子中输入端口号是 8080。你可以从 Internet Explorer 的 Internet 选项菜单中获取它。
单击用户名。以 domain\user-name 格式提供用户名。通常是您的系统登录。
点击密码。提供您的系统密码。
再次按菜单按钮。将出现一个选项菜单。
按保存并尝试打开浏览器。我想它对你有帮助吗?
10.0.2.2
作为您的代理的 IP 地址(您的主机)并根据您的喜好配置外部代理(例如 SquidMan)。
右键单击 Eclipse 中的项目选择 Run As -> Run Configurations ... 选择 Android Application 然后选择“target”选项卡寻找“Additional Emulator Command Line Options”并将此命令行放入文本框-http-proxy http: //<用户名>:<密码>@<主机名>:<端口>
这个问题有不同的解决方案。其中之一,我将向您展示我的实验以及使用最近的 android studio 和 2017 年下载的 AVD 图像在结果中看到的结果。
您要做的第一件事是从 android studio 启动您的 AVD。(在我的情况下,我选择 NEXUSAPI25 android 7.1 图像)转到设置->无线和网络->蜂窝网络->接入点->(+)按添加->输入如果您根本没有 NTLM 代理或代理(这意味着您是直接连接的),请执行以下操作将 apn 名称添加为 myAPN b。添加 apn 服务器 => www c.保存并尝试浏览互联网。
如果这不起作用,请在您的环境变量中添加“ANDROID_SDK_ROOT”
然后,使用模拟器命令启动 AVD,如下所示
模拟器 -avd Nexus25 -dns-server 8.8.8.8
对于那些使用 NTLM 代理的人,接下来我将向您展示它是如何为我工作的。将您的 Android_sdk_root 路径添加到您的环境变量中。这使得命令行代码像使用 AVD 名称等一样成功读取。使用以下命令启动您的模拟器
>emulator -avd Nexus_5X_API_25 -http-proxy http://username:password@ipaddress:port
进入
https://i.stack.imgur.com/uIAyz.png
https://i.stack.imgur.com/Pf9Cx.png
-dns-server
解决了。有什么办法可以在 UI 中设置吗?
您是否尝试过使用管理权限启动模拟器?它对我有用,我正在运行 Windows 7 64 位)
就我而言,我只需要从“Android SDK 和 AVD 管理器”启动 Android 虚拟设备 (AVD),它就可以工作了
如果您在 SDK 管理器中使用代理,请在 Tools -> Options
下不要配置代理设置。从命令行运行时添加 -http-proxy
:
emulator.exe -avd YOUR_AVD_NAME_HERE -http-proxy PROXY:PORT
为我工作。
我也遇到了同样的问题。我发现的最简单的解决方案是:
转到您的 Android\Sdk\emulator 文件夹并打开命令提示符。
键入 emulator -list-avds 以查看可用的模拟器名称。
键入 emulator -avd name-of-your-device -netdelay none -netspeed full -dns-server 8.8.8.8 命令并按 Enter。
我第一次运行模拟器时遇到了这个问题,我通过设置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
我有类似的问题。我已经安装了一个需要 INTERNET 权限的应用程序(并使用它),并且突然之间,工作正常。
伙计们,还要检查您是否没有通过某个地方的 VPN 连接,因为它也会干扰 Internet 连接。
布拉查尼亚
在eclipse中去DDMS
在 DDMS 下选择 Emulator Control ,其中包含 Telephony Status 在电话状态中包含数据 --> 选择 Home ,这将启用您的 Internet 连接,如果您想禁用 Emulator 的 Internet 连接然后 ---> 选择 None
(注意:只有当您运行 Eclipse 的 PC/笔记本电脑具有活动的 Internet 连接时,这才会启用 Internet 连接。)
读完这篇文章后,我决定看看我的“网卡”。我把它放在引号中是因为像许多人一样,我正在为 Hamachi 和 Virtual Box 等设备运行虚拟网卡。禁用 Hamachi 后,我可以使用互联网。我的猜测是,无论它是否是虚拟的,模拟器都会选择第一个可用的网卡。现在看看我是否可以在不拆箱的情况下重新安排我的 nic 订单。
视窗 7 32 位
我的服务订单首选项正确(首先是 Wi-Fi),但仍然无法连接。
答案是关闭 Thunderbolt Bridge:
系统偏好设置 > 网络 > Thunderbolt Bridge
然后将配置 IPv4 设置为关闭并应用您的更改。
无需在模拟器中使用接入点。
我解决了这个问题,我禁用了除我正在使用的 wifi 连接之外的所有网络连接,然后将剩余启用的连接上的属性设置为具有静态分配的 DNS 地址。 (无 DHCP)这是在 Win7 64 位上
感谢您的指点。他们真的有帮助。 “防火墙”这个词在我脑海中点击了一个想法。
我有一台带有 WIFI 连接但没有代理的 Windows XP 机器。我的机器上运行着 Norton Internet Security,它有一个智能防火墙。此智能防火墙管理程序对网络的访问,包括 emulator.exe。我进入设置-> 程序控制,然后授予对 emulator.exe 的完全访问权限。在此之后,我启动了 Android Emulator 并砰的一声……我可以连接到互联网。
希望这对新人有所帮助。
~下垂
在 Android 模拟器中,打开飞行模式,然后再次关闭对我有用。
如果您使用的是 2.2 的 MacOS,并且一直看到有关数据连接的错误,请尝试上述方法,它可以工作。
我通过 Sys Prefs 删除了除 LAN 之外的所有网络接口
即使我的 DNS 是由 DHCP 提供的,我也只用一台服务器重新输入了 DNS
我在命令行上使用了 -http-proxy 来指定一个
它开始在办公室工作。呸。
我认为有时只需重新启动虚拟设备就足够了。 :-)
我在我的虚拟 Windows 7 上遇到了同样的问题。
转到 Network Connections Alt > Advanced > Advanced Settings... 在第二个选项卡中,将 Internet 网络接口置于顶部
希望对您有所帮助
我打开模拟器后由于网络更改而遇到了这个问题。如果在启动模拟器后更换WiFi,只需重启模拟器即可上网
是的——在win 7中用管理员权限启动模拟器,一切都会好起来的——或者至少你会让无线在android中运行。
我在 Win7 64 位上遇到了类似的问题。尝试禁用我的 hamachi 和 virtualbox 适配器但没有用。尝试以管理员身份启动 avd 并没有用。最后,我使用此站点上的信息禁用了 teredo 隧道适配器并且它起作用了:http://www.mydigitallife.info/2007/09/09/how-to-disable-tcpipv6-teredo-tunneling-in-vista/
在我将开发机器从 Vista x64 重建到 Win7 x64 后,我发现使用“擦除用户数据”启动模拟器为我清除了这个问题。
似乎有几个原因可能导致模拟器没有互联网连接,在我的情况下,我在家工作,我有无线连接,然后进入办公室并直接插入,但是尽管我的无线连接已断开它没有被禁用,导致没有模拟器连接。我的理解是,当它启动时,它会寻找一个网络适配器,如果这里有任何冲突,它可能会导致没有互联网连接。要解决,请转到开始>设置>网络连接右键单击无线网络连接(如果您不使用无线)并选择禁用
我没有使用代理...但是我使用的是脚本...无论如何都在这附近。我在公司防火墙后面
我不确定这是否是您的问题,但这是我解决问题的方法。
启动模拟器时,我总是遇到“未找到 DNS 服务器”错误,并且在 google 上进行了大量研究但无济于事。无论如何,我在某处发现了一个帖子(再也找不到它了),上面说 NIC 的数量、DNS 条目的数量可能会影响模拟器。此外,知道模拟器使用 Windows API 函数 (GetNetworkParams()) 来解析 DNS 条目,我不能依赖 %WINDOWS%\System32\Hosts 文件。
但是,我确实进入了 NIC 属性(在 Windows 7 上),发现我指定了一个静态 IP,但没有指定 DNS 条目。因此,我从路由器获取了 DNS 条目并将它们插入 NICs 属性。我重新启动了模拟器,它现在正在使用正确的 DNS 条目!
我现在可以将我的互联网连接与模拟器一起使用,效果非常好!
希望能帮助到你!
我以为我在将模拟器连接到互联网时遇到了问题,但结果证明是我使用的代码有问题。我知道这很明显,但首先尝试模拟器上的浏览器以确认您没有互联网访问权限。如果我先这样做,我会节省一个小时。