55

有没有人设法让 Android 模拟器在需要身份验证的代理后面工作?

我尝试将 -http-proxy 参数设置为

http://DOMAIN/USERNAME:PASSWORD@IP:PORT

但我没有成功。

我试过按照文档无济于事。我也尝试过-verbose-proxy设置,但这似乎不再存在。

任何指针?

4

16 回答 16

46

我设法在 Adndroid 2.2 模拟器中做到了。

Go to "Settings" -> "Wireless & Networks" -> "Mobile Networks" -> "Access Point Names" -> "Telkila"

在那里在属性“代理”中设置代理主机名,在属性“端口”中设置代理端口

于 2010-10-06T05:06:17.610 回答
26

似乎从 SDK 1.5 开始,该-http-proxy标志也不起作用。对我有用的是在模拟器中启动 android 映像,然后一旦 Android 运行,转到Home > Menu > Settings > Wireless Controls > Mobile Networks > Access Point Names然后设置默认接入点的 http 代理设置。

有了 APN 代理设置,我就可以让模拟器的浏览器上网了。但是,像地图这样的其他东西仍然不起作用。

于 2009-10-29T06:42:35.237 回答
15

我记得有同样的问题 - 在网上搜索后,我找到了这个解决方案 - 从命令行,

1. > adb shell
2. # sqlite3 /data/data/com.android.providers.settings/databases/settings.db
3. sqlite> INSERT INTO system VALUES(99,’http_proxy', 'proxy:port');
4. sqlite>.exit

编辑:编辑答案以反映最新版本的 Android。

于 2008-09-02T18:13:27.953 回答
5

显然,此问题仅适用于 Android 2.x 和 Windows。这里有一个打开的错误: http ://code.google.com/p/android/issues/detail?id=5508&q=emulator%20proxy&colspec=ID%20Type%20Status%20Owner%20Summary%20Stars

于 2010-04-07T13:26:13.413 回答
5
  1. androidtool.cfg在以下位置找到文件C:\Documents and Settings\YOUR USER NAME\.android\

  2. 添加这一行:

    http.proxyLogin=USER@PASSWORD
    
  3. 保存文件并尝试打开 Android SDK。

于 2011-04-05T18:32:07.467 回答
5

为了设置代理服务器,我们需要设置 APNS 设置。去做这个:

  • 进入设置
  • 转到无线和网络
  • 转到移动网络
  • 转到接入点名称。使用菜单添加新的 apns
  • 设置代理=本地主机
  • 设置 Port = 您用来制作代理服务器的端口,在我的例子中是 8989

对于设置名称和 apn 这里是链接:

根据您的 sim 卡,您可以看到表格

于 2012-08-22T07:42:48.307 回答
4

这对我有用:http
://code.google.com/p/android/issues/detail?id=5508#c39 显然模拟器中有一个错误,迫使您使用代理的 IP 地址而不是名称...

于 2011-03-14T10:28:29.637 回答
3

Jay,虽然那将是获取此信息的理想位置,但它尚未针对 2.1 进行更新。下面我将列出目前不适用于 2.1 模拟器的方法。

http-post 参数不适用于 2.1 模拟器。在 2.1 模拟器中的 APN 列表中设置代理不起作用。通过 sql-lite 将代理直接插入系统表不适用于 2.1。

事实上,让浏览器通过我在 2.1 中找到的模拟器连接到互联网的唯一方法是根本不使用代理。我真的希望这个问题能尽快得到解决,因为有很多人遇到同样的问题。

于 2010-02-25T01:04:57.587 回答
3
  1. 启动命令提示符。

  2. 转到模拟器所在的文件夹。通常,它将位于 Android SDK 的工具文件夹中。

  3. 然后使用以下命令:

    emulator -avd <avd name> -http-proxy <server>:<proxy>
    

    通过使用它,我们将能够使用浏览器访问互联网。

于 2011-04-13T11:53:00.370 回答
3

在 Eclipse 3.45 中使用带有代理的 Android SDK 1.5 模拟器

转到包资源管理器 -> 右键单击​​您的 Android 项目 -> 运行方式 -> 运行配置。

在左侧栏的 Android Application 下,选择您的项目 -> 在右侧栏,您会看到 Android | 目标 | 常用选项卡 ->

选择 Target -> 在底部的“Additional Emulator Command Line Options”->

-http-proxy http://www.gateProxy.com:1080 -debug-proxy http://www.gateProxy.com:1080

- >运行/关闭。

于 2011-07-12T05:13:50.463 回答
2

我没有使用过 Android 模拟器,但我已经为 perl 和 wget 以及 windows 上的一些 cygwin 工具设置了 $http_proxy 环境变量。这可能对您适用于 android,但域名中的斜线似乎是一个潜在的问题。我知道我尝试将我的域“GLOBAL”放在那里,但最终将其取出并坚持:http://$USER:password@www-proxy.company.com:80

我经常遇到的一个问题是不能被告知也使用代理进行 DNS 查询的程序。在他们没有的情况下,我总是找不到主机名。我想找到一个本地 dns 解析器,它可以为所有不能使用的程序使用代理。

于 2008-08-26T15:37:35.123 回答
2

我能够使用 HTTP 嗅探器而不是代理来查看流量。我使用了HTTPScoop,这是一个不错的小应用程序。

使用 HTTPScoop 的另一个好处是,当我打开互联网共享并让我的手机使用我的 mac 上的 wifi 时,我还可以看到我实际设备上的流量。所以这对于调试手机本身和模拟器上发生的事情是一个很好的选择。

这样,您使用什么模拟器都没有关系,因为嗅探器会看到独立于模拟器、设备、编译器设置等的流量。

于 2010-12-16T06:47:41.740 回答
2

我将解释所有步骤:

  1. 转到 Android 模拟器中的设置 > 无线和网络 > 移动网络 > 接入点 > Telkilla > 并在此处进行必要的设置,例如代理、端口等。

我想现在关于代理设置的一切都清楚了......

于 2011-04-09T12:14:01.490 回答
2

对于Android2.3.3 Settings->Wireless&Networks->MobileNetworks->AccessPointNames->Telkila->在这里设置代理和端口(xx.xx.xx.xx和端口)

于 2011-07-12T05:01:24.090 回答
1

当我使用以下命令时,我遇到了同样的问题:

emulator-x86.exe -http-proxy domain\user:password@proxyIP:port -avd MyAVD

我收到代理身份验证错误。

最后,我不得不在这里使用 Cntlm 绕过代理 NTLM 身份验证:

http://sourceforge.net/projects/cntlm/

然后在简单地配置了 cntlm.ini 之后,我改用以下命令:

emulator-x86.exe -http-proxy 127.0.0.1:3128 -avd MyAVD

它有效:)

于 2015-03-31T12:21:22.847 回答
1

使用新版本的 Android Studio 和它的模拟器,这是一件容易的事。

按模拟器的“更多”按钮,选择“设置”->“代理”选项卡。所有需要的配置都在那里。

在此处输入图像描述

于 2018-04-27T13:02:38.167 回答