自更新到 11 以来,无法在 Android 设备上使用 Charles Proxy。我已阅读配置 CA 进行调试页面,并验证我正在测试的应用程序是否已按照其说明进行设置。对于运行相同应用程序的 iOS 来说这不是问题。看来只是安卓的问题。
在 Android 上通过 Charles 进行代理时,我可以访问互联网,这对我来说意味着连接良好,但当我使用该应用程序时,事情就开始失败。
我主要想知道是否还有其他人遇到这个问题?如果我能总结出我的经验,我就有希望利用这个理由来解决这个问题。
从 Android 11 或更高版本开始,有新的配置可以使 Charles Proxy 正常工作:
验证您是否安装并信任 Charles 代理证书。您可以在“设置”应用程序 ->“安全”->“加密和凭据”->“受信任的凭据”->“用户选项卡”=>“确保 Charles 代理”已加载中进行验证。
您只能从您自己的应用程序拦截 SSL 代理,而不能从其他应用程序拦截。
在源代码中,添加 res/xml/network_security_config.xml
<network-security-config>
<debug-overrides>
<trust-anchors>
<!-- Trust user added CAs while debuggable only -->
<certificates src="user" />
<certificates src="system" />
</trust-anchors>
</debug-overrides>
<base-config cleartextTrafficPermitted="true">
<trust-anchors>
<certificates src="system" />
</trust-anchors>
</base-config>
<domain-config>
<!-- Make sure your URL Server here -->
<domain includeSubdomains="true">your_production_domain</domain>
<trust-anchors>
<certificates src="user"/>
<certificates src="system"/>
</trust-anchors>
</domain-config>
</network-security-config>
Run Code Online (Sandbox Code Playgroud)
=> 将 your_product_domain 替换为您的工作域。
<manifest>
<application android:networkSecurityConfig="@xml/network_security_config">
</application>
</manifest>
Run Code Online (Sandbox Code Playgroud)
阅读更多内容https://docs.proxyman.io/debug-devices/android-device
| 归档时间: |
|
| 查看次数: |
14996 次 |
| 最近记录: |