【问题标题】:Charles proxy in non debuggable flavour of Android app不可调试的 Android 应用程序中的 Charles 代理
【发布时间】:2019-02-25 08:34:40
【问题描述】:

首先让我澄清一下,我知道这是一种非常糟糕的做法,我不会将此更改推送到我的生产代码中。但有时我们需要调试我的应用程序的不可调试风格的一些更改,但所有 https url 都失败并出现以下错误

Client SSL handshake failed: An unknown issue occurred processing the certificate (certificate_unknown)

我使用了以下网络配置文件并添加到我的清单文件中。这在应用程序的可调试风格下工作,但仍无法在不可调试风格下工作。

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <base-config>
        <trust-anchors>
            <certificates src="system" />
        </trust-anchors>
    </base-config>
    <debug-overrides>
        <trust-anchors>
            <certificates src="user" />
        </trust-anchors>
    </debug-overrides>
</network-security-config>

有什么方法可以使用 charles 以 Android 应用程序的不可调试风格监控我的网络调用?

【问题讨论】:

    标签: android charles-proxy network-monitoring


    【解决方案1】:

    这个对我有用:

    <?xml version="1.0" encoding="utf-8"?>
    <network-security-config>
        <base-config>
            <trust-anchors>
                <certificates src="user" />
                <certificates src="system" />
            </trust-anchors>
        </base-config>
    </network-security-config>
    

    Source

    【讨论】:

      【解决方案2】:

      在创建需要使用 Charls 进行调试的发布版本时,在应用程序上下文中的清单中。请在此之后添加android:debuggable="true",然后尝试构建您的发布版本并尝试使用 Charls 进行调试。 我还没有尝试过,但这可能会奏效。根据以下链接。 https://developer.android.com/training/articles/security-config.html

      【讨论】:

      • 我不想让我的应用程序可调试。我在问题中提到我要调试可调试的问题。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-29
      • 1970-01-01
      • 1970-01-01
      • 2019-04-19
      • 1970-01-01
      相关资源
      最近更新 更多