首页 > 解决方案 > 不可调试的 Android 应用程序中的 Charles 代理

问题描述

首先让我澄清一下,我知道这是一个非常糟糕的做法,我不会将此更改推送到我的生产代码中。但有时我们需要调试我的应用程序的不可调试风格的一些更改,但所有 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 应用程序的不可调试风格监控我的网络调用?

标签: androidcharles-proxynetwork-monitoring

解决方案


这个对我有用:

<?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>

资源


推荐阅读