在 API 29 (Android Q)平台上编译,发现网络请求数据异常,四处Log,找了半天发现是OkHttp在请求网络链接的时候直接onFailure了,莫名其妙,找了半天资料,才发现原来是Android P(API 28)的锅——
Android P全面禁止了非https链接,并严格审查网站的CA证书(详情参考)
但是国内的很多网站都是非https的,怎么办呢?需要使用xml文件设置属性禁用掉这一设置——
在res文件夹下新建目录xml,然后创建文件network_security_config.xml
(这个名字可以自定义,旨在开启http请求)
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>