如何设置Android模拟器代理设置?

我想在Android模拟器中使用浏览器,我想在我的机器上使用代理设置。 我怎样才能设置?

阅读非常好的Android手册,他们告诉我,我应该使用以下命令启动Android:

emulator -avd myavd -http-proxy http://168.192.1.2:3300 

但是我仍然无法使用模拟器浏览器。 请注意,我正在使用我的代理服务器的IP地址。

我究竟做错了什么?

最简单和最好的方法是做到以下几点:这已经完成了Android模拟器2.2

  1. 点击菜单
  2. 点击设置
  3. 点击无线和networking
  4. 转到移动networking
  5. 转到接入点名称
  6. 在这里你将Telkila Internet,点击它。
  7. 在编辑访问点部分,input“代理”和“端口”
  8. 还提供用户名和密码,其余的字段留空。

Android模拟器上的-http-proxy

运行configuration> Android应用程序>应用程序>目标>其他仿真器命令行选项:-http-proxy http://xx.xxx.xx.xx:8080

我尝试删除服务器名称中的http后,它为我工作。

emulator -avd myavd -http-proxy 168.192.1.2:3300

这对浏览器没有任何帮助,但是您也可以在您的代码中定义代理以与HTTP客户端一起使用:

 // proxy private static final String PROXY = "123.123.123.123"; // proxy host private static final HttpHost PROXY_HOST = new HttpHost(PROXY, 8080); HttpParams httpParameters = new BasicHttpParams(); DefaultHttpClient httpClient = new DefaultHttpClient(httpParameters); httpClient.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, PROXY_HOST); 

我没有运气,直到我试图设置环境variableshttp_proxy

http://developer.android.com/tools/help/emulator.html

“如果未提供-http-proxy命令,模拟器将查找http_proxy环境variables,并自动使用与上述格式匹配的任何值。

现在在Android模拟器中有一个设置 在这里输入图像描述

没有这个工作,我在Windows 64位上使用日食:做下面的步骤…它为我工作:窗口 – >首选项 – > Android – >启动 – >默认模拟器选项-http-proxy =“http:/ /10.1.8.30:8080"

在你的eclipse窗口中

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

  1. 去设置

  2. 去无线和networking

  3. 转到移动networking

  4. 转到访问点名称。 使用菜单添加新的apns

    设置Proxy = localhost

    设置端口=你用来做代理服务器的端口,在我的情况下是8989

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

    根据你的sim卡,你可以看到桌子

有时甚至在设置完全后可能无法正常工作。 我尝试了所有的方法

  1. 在模拟器APN中设置代理
  2. 通过Eclipse的偏好设置 – > Android – >启动

没有工作。 然后,我做了以下即刻工作。

转到eclipse运行 – >运行configuration。 在Android应用程序下你可以看到你的应用程序 现在,在右侧点击目标标签。 在“附加模拟器命令行选项”下添加以下内容。

-dns-server < 本地计算机上的DNS服务器最多三个 > -http-proxy http:// < 您的代理 >:< 您的代理端口 >

这里的问题是,DNS服务器设置应该来自你的本地系统。 转到cmd提示符并运行ipconfig检查您的DNS服务器。 与代理服务器和端口一样。 无论您的浏览器的作品应放在这里。

最简单的方法就是从模拟器中删除默认的APN(在我的情况下,它的T-移动),并创build新的APN与您的代理设置。

注:我已经尝试了所有的命令行选项,也尝试设置模拟器默认APN的代理,但没有任何工作。

如果您在代理环境下,并且您的仿真器中没有运行互联网,请不要更改仿真器中的任何设置。 转到你的eclipse项目,右键点击“Run as”,然后点击“Run Configuration”。 在popup的窗口中select“目标”并向下滚动一下,就会看到“其他仿真器命令行选项”在我input的“附加仿真器命令行选项”中input您的代理设置

-http-proxy http:// ee11s040:Om1l2ng3d4n2!08@hproxy.iitm.ac.in:3128

在这里输入图像描述

然后开始一个新的模拟器。

你确定你的地址是168.192.1.2而不是192.168.1.2?

注意交换的前两个数字。

根据您使用哪个环境来运行模拟器,请检查日志以查看模拟器是如何启动的。 我的开始是:

C:\ Users \ johan \ AppData \ Local \ Android \ Sdk \ tools \ emulator.exe -netdelay none -n​​etspeed full -avd Nexus_5X_API_23

然后添加-http-proxy选项,在我的情况下:

C:\ Users \ johan \ AppData \ Local \ Android \ Sdk \ tools \ emulator.exe -netdelay none -n​​etspeed full -avd Nexus_5X_API_23 -http-proxy 192.168.0.22:8888

在您的主机中安装Proxifier 。 设置代理使用您的代理 。 你不需要做任何事情。 你会好起来的。 Proxifier会捕捉系统(包括android模拟器)的调用,并通过configuration的代理进行路由。

有AVD的android模拟器:

  1. 打开模拟器(“.. \ android-sdk \ AVD Manager.exe”)
  2. 转到工具
  3. 转到选项
  4. 在代理设置上:

在第一个字段(HTTP代理服务器)上只设置您的代理(XXX.XXX.XXX.XXX)在第二个字段的IP地址设置您的代理的端口(例如:8080)

然后,在窗口上单击closures并启动模拟器

—-添加…然后亚历克斯步骤在我的情况下工作:

 Click on Menu Click on Settings Click on Wireless & Networks Go to Mobile Networks Go to Access Point Names Here you will Telkila Internet (or other name), click on it. In the Edit access point section, input the "proxy" and "port" 

您可以在您的应用程序中设置代理。 这可以使用设置类来完成。 例如,您可以将以下行添加到您的“onCreate”方法。

  Settings.System.putString(getContentResolver(), Settings.System.HTTP_PROXY, "myproxy:8080"); 

要更改代理设置,您必须在AndroidManifest.xml文件中具有android.permission.WRITE_SETTINGS权限。

使用ntlm身份validation设置企业代理的最佳方法是使用cntlm:

http://cntlm.sourceforge.net/

在C:\ Program Files \ Cntlm \ cntlm.ini中安装和configuration默认情况下,cntlm监听127.0.0.1:3128

在Android设备中,设置代理主机10.0.2.2和端口3128的新APN 10.0.2.2是主机回送接口(开发计算机上的127.0.0.1)的特殊别名,

另见http://developer.android.com/tools/devices/emulator.html#emulatornetworking

问候

在Android Studio上:

点击应用程序菜单下的编辑configuration

在这里输入图像描述

  1. 转到应用程序或Android应用程序(作为默认设置)
  2. 点击debugging器
  3. 点击LLDB启动命令
  4. 点击+
  5. 添加你的命令-http-proxy http://168.192.1.2:3300

在这里输入图像描述

就是这样。

更酷的东西,如果你想使用你的PC IP,使用这个命令:

  • -http-proxy "$(ipconfig getifaddr en0)":8888在MacOS上
  • -http-proxy "$(hostname -i)":8888 Linux上的-http-proxy "$(hostname -i)":8888