有没有人设法让 Android 模拟器在需要身份验证的代理后面工作?
我尝试将 -http-proxy 参数设置为
http://DOMAIN/USERNAME:PASSWORD@IP:PORT
但我没有成功。
我试过按照文档无济于事。我也尝试过-verbose-proxy
设置,但这似乎不再存在。
任何指针?
有没有人设法让 Android 模拟器在需要身份验证的代理后面工作?
我尝试将 -http-proxy 参数设置为
http://DOMAIN/USERNAME:PASSWORD@IP:PORT
但我没有成功。
我试过按照文档无济于事。我也尝试过-verbose-proxy
设置,但这似乎不再存在。
任何指针?
我设法在 Adndroid 2.2 模拟器中做到了。
Go to "Settings" -> "Wireless & Networks" -> "Mobile Networks" -> "Access Point Names" -> "Telkila"
在那里在属性“代理”中设置代理主机名,在属性“端口”中设置代理端口
似乎从 SDK 1.5 开始,该-http-proxy
标志也不起作用。对我有用的是在模拟器中启动 android 映像,然后一旦 Android 运行,转到Home > Menu > Settings > Wireless Controls > Mobile Networks > Access Point Names
然后设置默认接入点的 http 代理设置。
有了 APN 代理设置,我就可以让模拟器的浏览器上网了。但是,像地图这样的其他东西仍然不起作用。
我记得有同样的问题 - 在网上搜索后,我找到了这个解决方案 - 从命令行,
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。
显然,此问题仅适用于 Android 2.x 和 Windows。这里有一个打开的错误: http ://code.google.com/p/android/issues/detail?id=5508&q=emulator%20proxy&colspec=ID%20Type%20Status%20Owner%20Summary%20Stars
androidtool.cfg
在以下位置找到文件C:\Documents and Settings\YOUR USER NAME\.android\
添加这一行:
http.proxyLogin=USER@PASSWORD
保存文件并尝试打开 Android SDK。
为了设置代理服务器,我们需要设置 APNS 设置。去做这个:
对于设置名称和 apn 这里是链接:
根据您的 sim 卡,您可以看到表格
这对我有用:http
://code.google.com/p/android/issues/detail?id=5508#c39
显然模拟器中有一个错误,迫使您使用代理的 IP 地址而不是名称...
Jay,虽然那将是获取此信息的理想位置,但它尚未针对 2.1 进行更新。下面我将列出目前不适用于 2.1 模拟器的方法。
http-post 参数不适用于 2.1 模拟器。在 2.1 模拟器中的 APN 列表中设置代理不起作用。通过 sql-lite 将代理直接插入系统表不适用于 2.1。
事实上,让浏览器通过我在 2.1 中找到的模拟器连接到互联网的唯一方法是根本不使用代理。我真的希望这个问题能尽快得到解决,因为有很多人遇到同样的问题。
启动命令提示符。
转到模拟器所在的文件夹。通常,它将位于 Android SDK 的工具文件夹中。
然后使用以下命令:
emulator -avd <avd name> -http-proxy <server>:<proxy>
通过使用它,我们将能够使用浏览器访问互联网。
在 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
- >运行/关闭。
我没有使用过 Android 模拟器,但我已经为 perl 和 wget 以及 windows 上的一些 cygwin 工具设置了 $http_proxy 环境变量。这可能对您适用于 android,但域名中的斜线似乎是一个潜在的问题。我知道我尝试将我的域“GLOBAL”放在那里,但最终将其取出并坚持:http://$USER:password@www-proxy.company.com:80
我经常遇到的一个问题是不能被告知也使用代理进行 DNS 查询的程序。在他们没有的情况下,我总是找不到主机名。我想找到一个本地 dns 解析器,它可以为所有不能使用的程序使用代理。
我能够使用 HTTP 嗅探器而不是代理来查看流量。我使用了HTTPScoop,这是一个不错的小应用程序。
使用 HTTPScoop 的另一个好处是,当我打开互联网共享并让我的手机使用我的 mac 上的 wifi 时,我还可以看到我实际设备上的流量。所以这对于调试手机本身和模拟器上发生的事情是一个很好的选择。
这样,您使用什么模拟器都没有关系,因为嗅探器会看到独立于模拟器、设备、编译器设置等的流量。
我将解释所有步骤:
我想现在关于代理设置的一切都清楚了......
对于Android2.3.3 Settings->Wireless&Networks->MobileNetworks->AccessPointNames->Telkila->在这里设置代理和端口(xx.xx.xx.xx和端口)
当我使用以下命令时,我遇到了同样的问题:
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
它有效:)