安卓 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证书。
解决方法:
- 在res下新建xml目录,在该目录下创建文件network_security_config.xml
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<base-config cleartextTrafficPermitted="true" />
</network-security-config>
- 在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
推荐阅读
-
磁盘数据备份失败的原因及解决
-
ubuntu16.04下vim安装失败的原因分析及解决方案
-
皮皮播放器点播时网络连接失败的原因及解决方法
-
全民k歌为什么分享不到新浪微博?全民k歌分享到微博失败的原因及解决方法介绍
-
微信登录失败怎么办?安卓手机微信登录失败的解决方法
-
docker.service启动失败:Unit not found的原因及解决办法
-
Win10开机提示user profile service服务登录失败的原因及解决方法
-
Jquery Ajax请求文件下载操作失败的原因分析及解决办法
-
不可预料的压缩文件末端导致解压文件失败的可能性原因及解决方法
-
全民k歌为什么分享不到新浪微博?全民k歌分享到微博失败的原因及解决方法介绍