那些年遇到的问题--Android P 对http请求限制

起因

在新建工程集成我们自己的aar时,在注册时,明明网络通常,却一直返回网络不通的错误码,换了原来的旧工程却不会有这个问题。用源码跑了几遍,aar的集成方式也过了几遍,甚至把工程都给同事试了,结果还是一样,百思不得其解。

解决方式

在确认了各种方式都没有问题,依然不能注册成功以后,想起了Android P(9.0) http网络请求的问题这篇博客,然后试了一下,欸,终于可以了。。。
后来看了下新工程默认的targetSdkVersion是29,而aar里面的网络请求用的是http。
采用的解决方式如下(以下内容来源于Android P(9.0) http网络请求的问题
1.在 res 下新增一个 xml 目录
2.在xml目录下,创建一个名为:network_security_config.xml 文件(名字自定) ,内容如下,大概意思就是允许开启http请求:

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>

 <base-config cleartextTrafficPermitted="true" />

</network-security-config>

3.在app的AndroidManifest.xml文件下的application标签增加以下属性:

<application
...
 android:networkSecurityConfig="@xml/network_security_config"
...
/>
  • 如果项目中使用了http请求,并且项目的targetSdkVersion>=28,则需要采用上面的处理方式,如果targetSdkVersion<28,则可以不用处理。

相关阅读

1.Android P(9.0) http网络请求的问题

猜你喜欢

转载自blog.csdn.net/fengyulinde/article/details/106288614