如何让我的安卓模拟器使用计算机的VPN接口?

75

我的公司需要使用VPN连接到我们的开发系统,这是我第一次尝试在家中从事Android应用程序开发。结果是模拟器不想使用VPN接口,因此即使我在连接VPN的笔记本电脑上可以访问我们的开发系统,但在其上运行的模拟器却不能访问。

我已经考虑了三种解决方案:

  1. 在模拟器上运行VPN客户端,但我希望有一种比这更简单的解决方案
  2. 在我的本地计算机上设置代理服务器。
  3. 在我的本地计算机上转发端口。

2和3可能有效,但我仍然想知道是否有一种简单的方法可以让模拟器在没有绕过的情况下使用VPN接口。

我正在运行OS X 10.7,并已经尝试通过网络>>设置服务顺序来调整接口优先级顺序。

我想我可以重新启用旧的戴尔计算机并在那里尝试它,但我预计会得到相同的结果。


1
可能取决于您的VPN,有些会更改网络驱动程序或添加自己的安全性(基于MAC地址),以允许设备访问VPN隧道。 - CrackerJack9
1
作为一种信息提醒,因为已经过了一段时间,我最终没有让它工作,所以我不能真正接受这个答案,因为它对我没有用。如果这对其他人有用,请确保点赞该答案。 - umassthrower
大家好,我来这里是想找一下是否有其他的解决方案。我尝试了这个讨论中提供的解决方案,但是都没有对我起作用。谢谢。 - jaimeduque17
6个回答

102

首先启动您的 VPN 连接,然后重新启动模拟器,现在模拟器应该使用主机 VPN 连接。

这主要是由于 DNS 问题,根据 Android 文档

在启动时,模拟器会读取系统当前正在使用的 DNS 服务器列表。然后,它会在需要时将最多四个服务器的 IP 地址存储在此列表上,并在模拟地址 10.0.2.3、10.0.2.4、10.0.2.5 和 10.0.2.6 上设置别名。


19

在此处输入图片描述

我遇到了这个问题,尝试了一些DNS设置,但是无法解决。正如@machado在下面的评论区中所说,您应该通过“立即冷启动”选项启动模拟器。希望这能帮到你。


8
清除数据是不必要的,你可以通过启动 VPN 然后对设备进行“冷启动”来绕过此问题。 - Machado
@Machado的答案是正确的解决方案。清除数据不起作用。 - chitgoks
好的,也许你遇到了不同的情况,但对于我和至少其他五个人来说,它确实有效。感谢分享你的想法。 - Machado
我只做了马查多所说的“现在冷启动”的事,它就起作用了。 - Joab Santos

9

我在我的Mac上所做的只是确保“将所有流量发送到VPN”被勾选。

您可以在网络首选项中选择VPN连接后单击“高级”以找到此设置。

对于我的情况来说,效果很好,但根据您连接的VPN类型可能会有所不同。

VPN高级设置


3
这是解决我的问题的线索,尽管需要更多的研究才能找出如何使用Tunnleblick进行相同操作:VPN详细信息->配置[我的公司配置]->设置->高级->连接时勾选“通过VPN路由所有流量”。 - mpemburn
3
你知道在Mac上的Cisco AnyConnect VPN中是否有类似的选项吗?我在网络偏好设置中没有看到VPN连接,而且在AnyConnect中也找不到类似的选项。 - Shoerob
我不知道在OS X上是否有AnyConnect的选项。现在我尽量不使用特定于客户端的VPN,因为我担心更新OS X会完全破坏我的VPN,所以我通常使用支持OpenVPN客户端的IPSec或VPN解决方案(如较新的Barracuda)。根据您的VPN有多么锁定,您可能可以添加路由来帮助您。更多信息请参见:http://apple.stackexchange.com/questions/144572/where-is-the-send-all-traffic-over-vpn-connection-setting-in-osx-10-9-maverick和http://tim.rideyourbike.org/2013/02/force-traffic-through-your-cisco.html。 - AndrewPK
工作正常,但正在寻找更好的解决方案。有人知道如何在不发送所有流量的情况下使用VPN吗?我的客户VPN被锁定,当连接到VPN并发送所有流量时,我无法使用任何外部互联网。这意味着我必须一直连接和断开以进行谷歌搜索和ping人。 - Dustin Williams

6

我曾经遇到过同样的问题,并通过在 Android 模拟器启动并连接到互联网后连接到 Cisco VPN 来解决它。

在 Windows 7 上对我有效。


4
很遗憾,这对我没有起作用。我也在使用思科VPN和Windows 7操作系统。 - cowsay

3
我在Windows上设置了VPN连接。然后启动了模拟器。模拟器和我的电脑上的所有东西都开始使用该VPN连接。

0
解决方案取决于您的环境,对我来说是:win10+V2ray(VPN客户端)+android studio。
解决方案如下:
1. 启动模拟器。 2. 打开模拟器的设置(不是手机的设置)。 3. 设置 -> 代理 -> 手动。 4. 设置主机:127.0.0.1,端口:1081。
我在 V2ray 的底部找到了这个enter image description here
我猜测 HTTP 的默认端口是 1081,而 SOCKS 的默认端口是 1080,所以我尝试了两者。结果发现 1081 是有效的。
如果您使用其他 VPN 客户端,请尝试更换端口,可能会起作用。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接