无法使用Android在Charles Proxy中查看HTTPS请求

无法使用Android在Charles Proxy中查看HTTPS请求,android,charles-proxy,Android,Charles Proxy,我正试图在谷歌Playstore上调试一个应用程序,以便查看它发出的请求。我已经在我的计算机上设置了帮助我这样做,但是我在查看用https发送的请求时遇到了问题。下面列出了我的步骤 我的电脑: Manjaro Linux 我的手机: 谷歌像素4a 安卓11 不扎根 我的设置: 使用Charles v4.6.1 我的访问控制设置包含我手机的IP 我的手机设置: 以下是我允许应用程序通过charles使用SSL的步骤: 从谷歌Playstore下载应用程序 找到apk并将其传输到我的PC,然

我正试图在谷歌Playstore上调试一个应用程序,以便查看它发出的请求。我已经在我的计算机上设置了帮助我这样做,但是我在查看用https发送的请求时遇到了问题。下面列出了我的步骤

我的电脑:
Manjaro Linux

我的手机:
谷歌像素4a
安卓11
不扎根

我的设置:
使用Charles v4.6.1


我的访问控制设置包含我手机的IP

我的手机设置:

以下是我允许应用程序通过charles使用SSL的步骤:

  • 从谷歌Playstore下载应用程序
  • 找到apk并将其传输到我的PC,然后通过Google Playstore卸载该应用程序
  • 使用XDA论坛中的Apktool反编译apk
  • 根据和,我需要在网络安全xml中的
    内添加以下行
  • 
    
  • AndroidManifest.xml已经遵循了所需的更改,因此我不会在那里进行任何更改
  • 我将反编译的内容编译成apk
  • 我与Uber apk Signer签署构建的apk
  • 我将构建和签名的apk传输到我的手机,并安装它
  • 通过此列表,我在任何步骤都没有得到任何错误


    提前感谢您,如果您需要更多详细信息,请告诉我。

    您的网络配置在
    中,仅适用于调试版本。您是在调试模式下构建应用程序,还是为了生产?如果不在调试模式下构建,则该配置将不适用

    您可能想改用
    ,它适用于所有构建,而不仅仅是调试构建。这里有一个完整的示例:

    如果这不起作用,那么很可能在应用程序代码本身中存在一些证书固定,与网络安全设置无关。要解决这个问题,您需要手动编辑代码本身。您还可以尝试使用,它有一系列自动补丁,可以为您禁用许多常见的手动固定实现

    <debug-overrides>
        <trust-anchors>
            <certificates src="user"/>
        </trust-anchors>
    </debug-overrides>