115

我想在 Android 模拟器中使用浏览器,并且我想在我的机器上使用代理设置。我该如何设置?

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

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

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

我究竟做错了什么?

4

20 回答 20

151

最简单和最好的方法是执行以下操作: Android Emulator 2.2 已完成此操作

  1. 点击菜单
  2. 点击设置
  3. 点击无线和网络
  4. 前往移动网络
  5. 转到接入点名称
  6. 在这里你会 Telkila Internet,点击它。
  7. 在编辑接入点部分,输入“代理”和“端口”
  8. 还提供用户名和密码,其余字段留空。
于 2011-05-17T04:49:36.813 回答
58

-http-proxy 在 Android 模拟器上

在运行配置> Android 应用程序> 应用程序> 目标> 附加模拟器命令行选项:-http-proxy http://xx.xxx.xx.xx:8080

于 2012-10-17T17:50:18.097 回答
47

Android模拟器中有一个设置来设置代理。 在此处输入图像描述

于 2017-09-08T12:02:10.497 回答
21

我在服务器名称中删除 http 后尝试过,它对我有用。

emulator -avd myavd -http-proxy 168.192.1.2:3300

于 2014-02-20T05:27:55.733 回答
15

这对浏览器没有帮助,但您也可以在代码中定义代理以与 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);
于 2009-10-15T10:49:01.160 回答
11

在 Android Studio 上:

单击应用程序菜单下的编辑配置

在此处输入图像描述

  1. 转到 App 或 Android App(作为默认设置)
  2. 点击调试器
  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 上

====== 2022 年 2 月 23 日更新 ======

目前我正在使用这些命令来启用/禁用代理:

adb shell settings put global http_proxy 127.0.0.1 :8889

或动态地将我的电脑作为主机

adb shell settings put global http_proxy $(ipconfig getifaddr en0) :8889

要禁用该代理,请使用:

adb shell settings put global http_proxy :0
于 2017-10-09T10:32:19.650 回答
4

在我尝试设置环境变量之前我没有运气http_proxy

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

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

于 2012-09-10T13:20:12.207 回答
4

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

  1. 进入设置

  2. 转到无线和网络

  3. 转到移动网络

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

    设置代理=本地主机

    设置 Port = 您用来制作代理服务器的端口,在我的例子中是 8989

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

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

于 2012-03-28T06:05:08.540 回答
3

最简单的方法是从模拟器中删除默认 APN(在我的情况下是 T-mobile)并使用您的代理设置创建新的 APN。

注意:我已经尝试了所有命令行选项,还尝试为模拟器默认 APN 设置代理,但没有任何效果。

于 2015-07-24T09:25:14.087 回答
3

对于某些leanback(电视)模拟器,您可以使用 cmd:

adb shell settings put global http_proxy 10.0.2.2:8888

  • 8888- 是本地机器(主机)上的代理端口,因此在本地机器上,http 代理将是 127.0.0.1:8888

要删除代理(在 cmd 行中按顺序运行):

adb shell settings delete global http_proxy

adb shell settings put global global_http_proxy_host ""

adb shell settings put global global_http_proxy_port ""

于 2020-07-31T20:53:31.297 回答
3

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

于 2017-08-22T13:54:29.397 回答
2

我在 Windows 64 位上使用 Eclipse:执行以下步骤...它对我有用:窗口 -> 首选项 -> Android -> 启动 -> 默认模拟器选项 -http-proxy="http:/ /10.1.8.30:8080"

在你的日食窗口中

于 2011-03-09T13:11:55.553 回答
2

有时即使设置了所有它也可能无法正常工作。我已经尝试了所有的方法,比如

  1. 在模拟器 APN 中设置代理
  2. 通过 eclipse 首选项设置它-> Android --> 启动

没有任何效果。然后我做了以下立即奏效。

转到 eclipse 运行 --> 运行配置。在 Android 应用程序下,您可以看到您的应用程序。现在,在右侧单击目标选项卡。在“其他模拟器命令行选项”下添加以下内容。

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

这里的问题是 DNS 服务器设置应该来自您的本地系统。转到cmd提示符并运行ipconfig以检查您的 DNS 服务器。与代理服务器和端口相同。任何适用于您的浏览器的东西都应该放在这里。

于 2013-06-06T05:36:08.903 回答
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

于 2016-12-26T10:44:07.730 回答
1

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

注意交换的前两个数字。

于 2015-02-20T14:56:05.607 回答
1

如果您在代理环境下并且模拟器中没有运行互联网,请不要更改模拟器中的任何设置。转到您的 Eclipse 项目,右键单击,单击“运行方式”,然后单击“运行配置”。在弹出窗口中选择“Target”并向下滚动一点,你会发现“Additional Emulator Command Line Options”在我输入的“Additional Emulator Command Line Options”中输入您的代理设置

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

在此处输入图像描述

然后启动一个新的模拟器。

于 2013-10-15T07:26:56.203 回答
1

使用 ntlm 身份验证设置公司代理的最佳方法是使用 cntlm:

http://cntlm.sourceforge.net/

在C:\Program Files\Cntlm\cntlm.ini中安装配置默认cntlm,监听127.0.0.1:3128

在 android 设备中设置一个新的 APN,代理主机 10.0.2.2 和端口 3128 10.0.2.2 是主机环回接口的特殊别名(开发机器上的 127.0.0.1)

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

问候

于 2014-04-08T11:14:36.637 回答
1

在控制台中启动下一个命令:

emulator -avd emulator_name -http-proxy you_proxy_ip_address:8080
于 2018-10-04T12:05:49.657 回答
0

拥有 AVD 安卓模拟器:

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

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

然后,单击窗口上的关闭并启动模拟器

---- 添加...然后亚历克斯步骤适用于我的情况:

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"
于 2013-03-13T15:53:13.480 回答
0

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

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

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

于 2013-10-07T10:11:28.253 回答