欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

安卓 OkHttp请求失败的原因及解决

程序员文章站 2022-06-15 09:38:19
问题: 在 API 30 (Android 10.0+R)平台上编译,使用真机调试,OkHttp在请求网络链接的时候直接onFailure了,但是使用虚拟机却可以请求成功。原因: Android P以及Android R全面禁止了非https链接,并严格审查网站的CA证书。解决方法:在res下新建xml目录,在该目录下创建文件network_security_config.xml

问题: 在 API 30 (Android 10.0+R)平台上编译,使用真机调试,OkHttp在请求网络链接的时候直接onFailure了,但是使用虚拟机却可以请求成功。


原因: Android P以及Android R全面禁止了非https链接,并严格审查网站的CA证书。


解决方法:

  1. 在res下新建xml目录,在该目录下创建文件network_security_config.xml
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <base-config cleartextTrafficPermitted="true" />
</network-security-config>
  1. 在AndroidManifest.xml中加上以下内容:
<uses-feature
       android:name="org.apache.http.legacy"
       android:required="false" />

并在<application标签中加上一行:

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

本文地址:https://blog.csdn.net/m0_46467531/article/details/112894315

相关标签: 安卓开发 安卓