Android 12 LG 天鹅绒
查尔斯4.6.5
MacOS Ventura 13.6.3
我的应用程序(我想查看这个应用程序与 charles 的 https 流量)
我无法在
MyApp
中使用https(另外,除了浏览器之外的所有Android应用程序)
我用浏览器(MS Edge for android)进行了测试。 我可以访问互联网。 我可以看到通过 Charles 的流量,它是 https。我可以使用浏览器,但所有其他应用程序都无法运行。 (youtube、play 商店不起作用)
我找到了缺失的部分!
https://www.charlesproxy.com/documentation/using-charles/ssl-certificates/
Android
As of Android N, you need to add configuration to your app in order to have it trust the SSL certificates generated by Charles SSL Proxying. This means that you can only use SSL Proxying with apps that you control.
In order to configure your app to trust Charles, you need to add a Network Security Configuration File to your app. This file can override the system default, enabling your app to trust user installed CA certificates (e.g. the Charles Root Certificate). You can specify that this only applies in debug builds of your application, so that production builds use the default trust profile.
Add a file res/xml/network_security_config.xml to your app:
<network-security-config>
<debug-overrides>
<trust-anchors>
<!-- Trust user added CAs while debuggable only -->
<certificates src="user" />
</trust-anchors>
</debug-overrides>
</network-security-config>
Then add a reference to this file in your app's manifest, as follows:
<?xml version="1.0" encoding="utf-8"?>
<manifest ... >
<application android:networkSecurityConfig="@xml/network_security_config" ... >
...
</application>
</manifest>
所以我需要...
debug build