ChatGPT解决这个技术问题 Extra ChatGPT

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

如何将我的 Android 模拟器连接到互联网,例如使用浏览器?我找到了很多关于通过代理连接时该怎么做的建议,但这里不是这种情况,我的机器(Windows 7)直接连接到路由器。

我将网络适配器的 dns 设置手动设置为 192.168.1.1 的路由器,但是当我将其更改为自动时,它就起作用了。
在我打开计算机上的 WiFi 之前启动模拟器时遇到了这个问题。解决方案是打开我的 Co 外部上的 WiFi,然后停止/启动模拟器。
使用此链接解决您的问题 stackoverflow.com/questions/50670547/…

a
artifex

我认为一些答案可能已经解决了这个问题,但这是对我有用的。假设当您在无线网络上并且安装了 LAN 卡时出现问题,则问题是模拟器尝试从该 LAN 卡获取其 DNS 设置。当您通过该 LAN 连接时,这不是问题,但如果您使用无线连接,则完全没用。当我在笔记本电脑上时,我注意到了这一点。那么,如何修复呢?简单:禁用您的 LAN 卡。真的。只需转到您的网络连接,找到您的 LAN 卡,右键单击它并选择禁用。现在试试你的模拟器。如果你像我一样,它突然......工作!


是的,那是我的场景,我在 Win7 上使用无线,所以我关闭了模拟器,禁用了我的 LAN 卡并再次启动了模拟器,它就可以工作了。
实际上,模拟器采用具有最高优先级的适配器,因此切换适配器的优先级(无线为最高)也应该可以工作,并且不需要您完全禁用 LAN 适配器。不过谢谢你的回答,让我头疼
@Anzeo:您如何更改 Windows 上的顺序?
检查您的防火墙设置 - 正如@moon_walker333 在此线程中提到的那样。 AVG 阻止了我的应用程序。
非常感谢 - 花了几个小时试图解决这个问题,一旦我禁用了我的 NIC,它终于能够让它工作。仅供参考,以下是更改网络适配器优先级的方法:eightforums.com/tutorials/…
n
netcharmer

如果您使用的是 Mac - 试试这个 -

转到 Apple 图标 -> 系统偏好设置 -> 网络 点击齿轮图标并选择“设置服务顺序” 将活动界面置于其他界面之前。重启安卓模拟器。


+1:这绝对是对 Mac 用户最有帮助的答案。
第 3 步是什么意思?我把我的虚拟设备带到了 Wi-Fi 下,我的电脑自动关机了。
@Iammesol,我相信第3步意味着将您的活动连接名称(例如wifi / ethernet)拖到顶部。至少它对我有用。
澄清一下:对于最近的模拟器版本,“重新启动模拟器”意味着停止然后冷启动。关闭模拟器窗口然后再次启动模拟器(例如,从 Android Studio 运行配置)不会成功。它必须是冷启动。
F
Fred B.

[编辑] 对于更新版本的 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 丢失了它的 DNS 设置。不是模拟器的错。该 DNS 设置是从 Mac 中提取的。但是这篇文章帮助我弄清楚了。
为此,我创建了一个简单的脚本,您可以在以下位置查看:gist.github.com/brotoo25/246d8767982ed74ce98ed165ea099a5d
Z
Zsolt Botykai

我的平台:Mac OS 10.6.4 Eclipse:3.6

我有一个类似的问题,我的地图应用程序背景是灰色的(没有图块)并且浏览器无法连接到互联网。

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


我在“附加模拟器命令行选项”字段中添加了“-dns-server XXXX”。
+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 上也适用于我。
A
Abhinai

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

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

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

单击名称。为 apn 提供名称说我的 APN。

单击 APN。输入万维网。

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

单击端口。在我的例子中输入端口号是 8080。你可以从 Internet Explorer 的 Internet 选项菜单中获取它。

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

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

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

按保存并尝试打开浏览器。我想它对你有帮助吗?


我试过了,但它给出了网络错误。甚至我的系统互联网工作正常
如果您有一个本地代理运行,它将流量转发到需要身份验证的“官方”代理,那就更容易了。在这种情况下,使用 10.0.2.2 作为您的代理的 IP 地址(您的主机)并根据您的喜好配置外部代理(例如 SquidMan)。
对我不起作用..为 VPN 输入什么值。?
F
Fuangwith S.

右键单击 Eclipse 中的项目选择 Run As -> Run Configurations ... 选择 Android Application 然后选择“target”选项卡寻找“Additional Emulator Command Line Options”并将此命令行放入文本框-http-proxy http: //<用户名>:<密码>@<主机名>:<端口>


D
Daniel Adenew

这个问题有不同的解决方案。其中之一,我将向您展示我的实验以及使用最近的 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 中设置吗?
a
andynil

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


我也在运行 Windows 7 64 位。我尝试以管理员身份启动 Eclipse,以管理员身份启动 AVD Manager,但均未成功。我是否必须以管理员身份从命令行启动它?
遇到同样的问题,以管理员权限运行解决了我在 Windows 10 上的问题。
V
VincentTellier

就我而言,我只需要从“Android SDK 和 AVD 管理器”启动 Android 虚拟设备 (AVD),它就可以工作了


是的,这对我有用..我只是在运行应用程序,它触发我启动 AVD...
E
Erik Dahlström

如果您在 SDK 管理器中使用代理,请在 Tools -> Options 下不要配置代理设置。从命令行运行时添加 -http-proxy

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

为我工作。


这是唯一对我有用的解决方案。请记住,当您在 SDK 管理器设置中关闭代理配置时,您将无法访问 SDK 更新,因此您需要在构建应用程序时重新启用代理设置。
是否有保存代理配置的配置文件,所以我们可以从 AVD 管理器运行它?不是来自命令提示符?
A
Ash

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

转到您的 Android\Sdk\emulator 文件夹并打开命令提示符。

键入 emulator -list-avds 以查看可用的模拟器名称。

键入 emulator -avd name-of-your-device -netdelay none -netspeed full -dns-server 8.8.8.8 命令并按 Enter。


L
LF00

我第一次运行模拟器时遇到了这个问题,我通过设置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 上工作。这个应该被接受的答案!
b
blacharnia

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

伙计们,还要检查您是否没有通过某个地方的 VPN 连接,因为它也会干扰 Internet 连接。

布拉查尼亚


M
Mahesh

在eclipse中去DDMS

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

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


W
Wayne Wenthin

读完这篇文章后,我决定看看我的“网卡”。我把它放在引号中是因为像许多人一样,我正在为 Hamachi 和 Virtual Box 等设备运行虚拟网卡。禁用 Hamachi 后,我可以使用互联网。我的猜测是,无论它是否是虚拟的,模拟器都会选择第一个可用的网卡。现在看看我是否可以在不拆箱的情况下重新安排我的 nic 订单。

视窗 7 32 位


G
Gerard

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

答案是关闭 Thunderbolt Bridge:

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

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

无需在模拟器中使用接入点。


同样在这里。我必须将所有服务设置为“配置 IPv4:关闭”,并且只启用 WiFi。仅移动服务订单似乎还不够。卡塔利娜 10.15.4。
j
jim werwath

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


m
moon_walker333

感谢您的指点。他们真的有帮助。 “防火墙”这个词在我脑海中点击了一个想法。

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

希望这对新人有所帮助。

~下垂


是的 - 防火墙是我的问题(AVG)。好地方!
我和卡巴斯基有同样的问题!
S
Sparhawk_

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


S
Song

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

我通过 Sys Prefs 删除了除 LAN 之外的所有网络接口

即使我的 DNS 是由 DHCP 提供的,我也只用一台服务器重新输入了 DNS

我在命令行上使用了 -http-proxy 来指定一个

它开始在办公室工作。呸。


T
Tobias

我认为有时只需重新启动虚拟设备就足够了。 :-)


N
Neon Warge

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

转到 Network Connections Alt > Advanced > Advanced Settings... 在第二个选项卡中,将 Internet 网络接口置于顶部

希望对您有所帮助


C
ColonD

我打开模拟器后由于网络更改而遇到了这个问题。如果在启动模拟器后更换WiFi,只需重启模拟器即可上网


m
mike kaufmann

是的——在win 7中用管理员权限启动模拟器,一切都会好起来的——或者至少你会让无线在android中运行。


M
Martin Bayly

我在 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 适配器,然后它又开始工作了。
u
user481172

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


u
user556423

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


S
Sana

我没有使用代理...但是我使用的是脚本...无论如何都在这附近。我在公司防火墙后面


你找到任何解决方案了吗?
A
Allov

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

启动模拟器时,我总是遇到“未找到 DNS 服务器”错误,并且在 google 上进行了大量研究但无济于事。无论如何,我在某处发现了一个帖子(再也找不到它了),上面说 NIC 的数量、DNS 条目的数量可能会影响模拟器。此外,知道模拟器使用 Windows API 函数 (GetNetworkParams()) 来解析 DNS 条目,我不能依赖 %WINDOWS%\System32\Hosts 文件。

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

我现在可以将我的互联网连接与模拟器一起使用,效果非常好!

希望能帮助到你!


M
Martin

我以为我在将模拟器连接到互联网时遇到了问题,但结果证明是我使用的代码有问题。我知道这很明显,但首先尝试模拟器上的浏览器以确认您没有互联网访问权限。如果我先这样做,我会节省一个小时。