OkHttp请求http链接失败的问题

Android API 29 平台上编译,发现网络请求数据异常,四处Log,找了半天发现是OkHttp在请求网络链接的时候直接onFailure了,莫名其妙,找了半天资料,才发现原来是Android P的锅——

Android P全面禁止了非https链接,并严格审查网站的CA证书(详情参考)

但是国内的很多网站都是非https的,怎么办呢?需要使用xml文件设置属性禁用掉这一设置——

在res文件夹下新建目录xml,然后创建文件network_security_config.xml:


<network-security-config>
    <base-config cleartextTrafficPermitted="true" />
network-security-config>

然后在AndroidManifest.xml文件的Application标签添加属性:

<application
        ...
        android:networkSecurityConfig="@xml/network_security_config">

问题解决。

你可能感兴趣的:(debug,Android)