我想在Android模拟器中使用浏览器,并且希望使用我的机器上的代理设置。我该如何设置?
阅读非常好的Android手册后,他们告诉我应该使用以下命令启动Android:
emulator -avd myavd -http-proxy http://168.192.1.2:3300
但是我仍然无法使用模拟器浏览器。请注意,我正在使用我的代理服务器的IP地址。
我做错了什么?
我想在Android模拟器中使用浏览器,并且希望使用我的机器上的代理设置。我该如何设置?
阅读非常好的Android手册后,他们告诉我应该使用以下命令启动Android:
emulator -avd myavd -http-proxy http://168.192.1.2:3300
但是我仍然无法使用模拟器浏览器。请注意,我正在使用我的代理服务器的IP地址。
我做错了什么?
最简单也是最好的方法如下:
在Run Configuration> Android Application > App > Target > Additional Emulator Command Line Options中添加以下内容:-http-proxy http://xx.xxx.xx.xx:8080
-http-proxy http://用户名:密码@主机名:端口号
。 - ashakirov我尝试在服务器名称中删除http后,它对我有效。
模拟器 -avd myavd -http-proxy 168.192.1.2:3300
-http-proxy http://168.192.1.2:3300
就是这样。
如果你想使用你的PC IP,可以使用以下命令:
-http-proxy "$(ipconfig getifaddr en0)":8888
-http-proxy "$(hostname -i)":8888
====== 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
这不会对浏览器有帮助,但你也可以在代码中定义代理,并与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);
对于一些 leanback
(电视) 模拟器,您可以使用以下命令:
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 ""
2022年,您可以使用以下adb命令:
adb shell settings put global http_proxy "your_PC_IP:PORT_YOU_LISTEN"
您可以使用以下命令禁用代理:
adb shell settings put global http_proxy :0
在尝试设置环境变量http_proxy
之前,我没有成功过。
http://developer.android.com/tools/help/emulator.html
"如果没有提供 -http-proxy 命令,则模拟器会查找 http_proxy 环境变量,并自动使用与上述格式匹配的任何值。"
注意:我已经尝试了所有命令行选项,也尝试了为模拟器默认APN设置代理,但都没有成功。