我正在尝试设置网络代理来查看模拟器流量。
现在,如果我对模拟器的网络设置进行了更改(10.0.2.2:< port&gt ;,那么一切正常。 但是,如果我尝试使用模拟器-avd myAvd -http-proxy localhost:&lt;命令行设置代理。端口&gt; ,SSL流量无法通过,我有时间错误。
任何人都可以使这个工作吗?
由于
答案 0 :(得分:75)
不确定您使用的是哪个模拟器,但Android Studio 2中宣布的new
Android模拟器存在问题 - Bug Tracker
要获得解决方法,我必须使用设置为API 23的new
仿真器执行以下操作:
-http-proxy http://192.168.x.x:yyyy
作为标志传递。 For details how to do this, see here. Access Point
设置。为此,您可以转到设置 - &gt; 更多 - &gt; 移动网络 - &gt; 接入点名称并编辑现有的接入点。Developer Settings
中有一个设置,用于配置设备以使用旧版DHCP客户端而不是新客户端。必须将其配置为使用旧版本。Airplane
模式。答案 1 :(得分:8)
查看https://code.google.com/p/android/issues/detail?id=201402#c6上的评论#6。如果您使用计算机LAN IP设置代理使用-http-proxy命令行开关,则不需要其他解决方法。
例如:
$ emulator -avd Nexus_5X_API_23 -http-proxy http://10.102.80.149:8888
答案 2 :(得分:0)
您的代理服务器有可能在响应Android模拟器的HTTP CONNECT请求时返回一些额外的HTTP标头。如果是这样,您可能会遇到a known issue,它现在应该已经修复,但是由于开发分支之间的异步,修复程序从未被释放过。有关详细信息,请参阅my comment。
为了澄清,HTTP请求不受该问题的影响,因为它们不依赖于连接隧道(即HTTP CONNECT),而是通过RFC7230中定义的HTTP消息转发来传递。