Charles(或fiddler)抓Android应用包,CA证书安装及代理后APP无法连接上网的解决办法,亲测!

安装Charles

Windows可参考博客:Windows下(Win10)Charles从下载安装到证书设置和浏览器抓包测试,亲测!

Mac版本的下载安装及手机端证书安装可参考这篇博客:Mac下用Charles实现Android http和https抓包

  • 另外提供给大家一个可用的激活码,安装后Help->Register。。。输入即可:
// Charles Proxy License
// 适用于Charles任意版本的注册码,谁还会想要使用破解版呢。
// Charles 4.2目前是最新版,可用。

Registered Name: 	https://zhile.io
License Key: 		48891cf209c6d32bf4

问题及解决

这篇博客主要介绍Charles安装设置OK后,Android手机也设置安装证书OK后,APP不能上网的问题解决办法。
网上一大堆乱七八糟的解决办法,头都炸了,最终还是官网最权威:

https://www.charlesproxy.com/documentation/using-charles/ssl-certificates/

在官网上我们发现了解释:
Charles(或fiddler)抓Android应用包,CA证书安装及代理后APP无法连接上网的解决办法,亲测!_第1张图片

解释方法

上面官网给出的解释是说,从安卓N版本开始,我们如果想要对Android系统的应用进行抓包就需要在应用中添加信任Charles证书的配置:
先在App中添加配置文件res/xml/network_security_config.xml

 
   
     
      
       
     
   

  • 再在应用程序的manifest中添加如下的引用


    
        ...
    

这样配置完成,重新打包安装就可以了,App即可正常上网,可通过Charles进行抓包了,不过这个配置可能需要App的开发人员进行配合。

总结

因为安卓版本的不同,造成安卓系统的权限可能也不同,遇到上述问题时可先查看我们的安卓版本,N版本之后的大概率都是因为App配置的原因造成,比如我的设备是安卓O版本的,比N版本还要新,所以也就出现的这个问题;按照官网的方法后,完美解决!爽!

补充

  • 如何查看安卓版本

设置-系统-关于手机,找到Android版本一栏,手指在上面不停的点击几下就会弹出当前设备的安卓版本了
Charles(或fiddler)抓Android应用包,CA证书安装及代理后APP无法连接上网的解决办法,亲测!_第2张图片

你可能感兴趣的:(软件测试,Charles,工具使用及问题)