【问题标题】:Android emulator proxy settingAndroid模拟器代理设置
【发布时间】:2016-05-31 20:33:57
【问题描述】:

我正在尝试设置网络代理来查看模拟器流量。

现在,如果我更改模拟器的网络设置(10.0.2.2:,一切正常。 但是,如果我尝试使用 emulator -avd myAvd -http-proxy localhost: 通过命令行设置代理,SSL 流量不会通过并且我会出现超时错误。

任何人都能够得到这个工作?

谢谢

【问题讨论】:

标签: android proxy android-emulator


【解决方案1】:

我最近不得不设置一个嗅探环境来调试一些 Android SSL 流量。

现在您似乎不再需要在模拟器的接入点上设置代理(@craig-russell 的回答中的步骤 2-4)。添加-http-proxy 启动参数就足够了。还尝试了 API 级别

我的规格: 安卓工作室 2.3.1 视窗 10 Android模拟器版本25.2.5.0

详细信息:http://www.devsbedevin.net/debugging-android-ssl-traffic/

【讨论】:

    【解决方案2】:

    您的代理服务器可能会在响应 Android 模拟器的 HTTP CONNECT 请求时返回一些额外的 HTTP 标头。如果是这样,您可能会遇到a known issue,它现在应该已经修复,但由于开发分支之间的不同步,修复从未发布。详情请见my comment

    澄清一下,HTTP 请求不受此问题的影响,因为它们不依赖连接隧道(即 HTTP CONNECT),而是通过RFC7230 中定义的 HTTP 消息转发传递。

    【讨论】:

      【解决方案3】:

      查看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
      

      【讨论】:

        【解决方案4】:

        不确定您使用的是哪个模拟器,但new Android Studio 2 发布的 Android 模拟器存在问题 - Bug Tracker

        要获得解决方法,我必须使用设置为 API 23 的 new 模拟器执行以下操作:

        1. 在启动模拟器时将-http-proxy http://192.168.x.x:yyyy 作为标志传递。 For details how to do this, see here.
        2. 为模拟器中的代理配置Access Point 设置。为此,您转到设置->更多->蜂窝网络->接入点名称并编辑现有的接入点。
        3. 最后,Developer Settings 中有一个设置用于将设备配置为使用旧版 DHCP 客户端而不是新客户端。这必须配置为使用旧版本。
        4. 打开和关闭Airplane 模式。

        【讨论】:

        • 嗨,我按照您的描述尝试过,但仍然无法正常工作,chrome 的值相同,但在模拟器中没有
        • 工作,如果你有代理的用户/密码,你需要启动 chrome / webbrowser 来设置它们。
        • 我现在看不到旧版 DHCP 选项。如何让它现在工作?
        • 对我来说,第 4 步有帮助。没有它,它拒绝工作。谢谢大佬。
        • 或者只使用代理。我更容易实现同样的目标。它还强制对所有通常出于安全原因忽略 sys 代理的 Android 应用程序使用代理。
        猜你喜欢
        • 2010-12-06
        • 1970-01-01
        • 1970-01-01
        • 2012-09-08
        • 2010-10-06
        • 2017-07-13
        • 2023-03-13
        • 2016-03-09
        • 2020-11-20
        相关资源
        最近更新 更多