Android 7.0 fiddler代理抓不到https請求的解決辦法
解決方法:
1.在源碼res目錄下新建xml目錄,增加network_security_config.xml文件
(工程名/app/src/main/res/xml/network_security_config.xml)
network_security_config.xml文件內容為:
<network-security-config>
<base-config cleartextTrafficPermitted="true">
<trust-anchors>
<certificates src="system" overridePins="true" />
<certificates src="user" overridePins="true" />
</trust-anchors>
</base-config>
</network-security-config>
說明:certificates說明的src="system"表示信任系統的CA證書,src="user"表示信任用戶導入的CA證書
2.修改項目的AndroidManifest.xml文件,在application中增加android:networkSecurityConfig="@xml/network_security_config"
<?xml version="1.0" encoding="utf-8"?>
<manifest ... >
<application android:networkSecurityConfig="@xml/network_security_config"
... >
...
</application>
</manifest>
說明:android:networkSecurityConfig的值指向的就是上一步創建的xml文件
3.然后再打包安裝apk即可
前提手機已經要安裝了fiddler等CA證書
問題原因:
Android7系統,默認不信任用戶導入的CA證書,所以需要配置文件,來信任用戶導入的證書
參考:
https://developer.android.com/training/articles/security-config.html#CustomTrust