在App进行数据请求的时候,若是每次都打印log去判断是一件很不“人性化”的操做行为,因此通常都会进行抓包分析。html
以最经常使用的软件Fiddler来讲,进行普通的http抓包没什么事,可是对https的抓包,要在本地安装Fiddler 的证书才能够,由于https是加密的。又由于是本身安装的拦截证书,系统一般都会提示,你的网络可能已被监控……android
Android 7.0如下,安装完证书就能够进行https的抓包了,可是7.0发现,即使安装了证书仍是不能进行https的抓包,一搜……果真有内幕,Google又在7.0改网络的安全性配置,把颗粒度缩小的应用级别了……安全
官方说明文档:https://developer.android.com/training/articles/security-config.html网络
也就是说,系统即使安装了证书,应用自己是能够选择信任,也能够选择不信任。主动权从系统移到的各个应用自己。app
怎么进行配置呢?同窗们本身点进去看就知道了,仍是很简单的,并且还能够进行debug和release的区分配置。这里给那些不会***的同窗,贴一下宇宙通用的配置(就是信任一切证书……)ide
配置文件:res/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>
AndroidManifest.xml 文件的配置spa
<?xml version="1.0" encoding="utf-8"?> <manifest ... > <application android:networkSecurityConfig="@xml/network_security_config" ... > ... </application> </manifest>