android - 不可调试的 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 应用程序的不可调试风格监控我的网络调用?
解决方案
这个对我有用:
<?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>
推荐阅读
- python - 使用startswith() 但不包含指定元素
- python - 将 txt 文件中的每一行通过值 n 后更改值
- javascript - javascript中正则表达式值的问题
- entity-framework - 如何修复“错误 MSB4068:元素
尝试在命令行(实体框架)中创建迁移时无法识别“ - html - display inline-block 使元素在 Firefox 中可聚焦
- reactjs - 未在浏览器中显示图像 - React
- angular - 改善使用授权代码流时 SPA 的缓慢初始页面加载
- flutter - 何时使用缓存网络图像
- java - 仅在 Spring Boot 中的 HTTPS 请求
- .net - 无法读取未定义 Angular 9 的属性“类型”