Android 9.0系统不允许Http协议访问网络突破
原因:
Google表示,为保证用户数据和设备的安全,针对下一代 Android 系统(Android P(9.0)) 的应用程序,将要求默认使用加密连接,这意味着 Android P(9.0) 将禁止 App 使用所有未加密的连接,因此运行 Android P(9.0) 系统的安卓设备无论是接收或者发送流量,未来都不能明码传输,需要使用下一代(Transport Layer Security)传输层安全协议,而 Android Nougat 和 Oreo 则不受影响。
因此在Android P(9.0) 使用HttpUrlConnection进行http请求会出现以下异常:
W/System.err: java.io.IOException: Cleartext HTTP traffic to ** not permitted
使用OKHttp请求会出现:
java.net.UnknownServiceException: CLEARTEXT communication ** not permitted by network security policy
意思大概就是:安全策略不允许进行明文通讯
在Android P(9.0)系统的设备上,如果应用使用的是非加密的明文流量的http网络请求,则会导致该应用无法进行网络请求,https则不会受影响,如果应用嵌套了webview,webview也只能使用https请求。无法使用http请求,有人认为 Android P(9.0)上所有的 App 都需要使用 TLS 加密会降低上网体验,个人觉得上这是一种误解,对于一些老旧非要使用http协议的服务器我们可以采取配置APP的联网策略方式进行限制突破
解决方案如下:
一:
在Mainfiests,直接在application标签下配置如下代码
<uses-libraryandroid:name="org.apache.http.legacy"android:required="false" />
二:
targetSdkVersion 降到27以下
三:
在 res 下新建一个xml目录,然后创建一个名为:network_config.xml 文件(名字自定),内容如下
<?xml version="1.0" encoding="utf-8"?>
<network-security-config><base-config cleartextTrafficPermitted="true" />
</network-security-config>
在Mainfiests appliction标签下配置该属性
android:networkSecurityConfig="@xml/network_config"
即可解决,9.0系统不允许Http协议访问网络的限制。
Android 9.0系统不允许Http协议访问网络突破相关推荐
- Android 6.0系统新特性及功能说明
本文通过翻译官方文档和google开发者大会资料收集得出,转载请注明出处. Android 6.0系统新特性及功能说明... 1 1 优化用户体验:... 1 1.1 应用权 ...
- 《深入解析Android 5.0系统》——第1章,第1.2节安装开发包
本节书摘来自异步社区<深入解析Android 5.0系统>一书中的第1章,第1.2节安装开发包,作者 刘超,更多章节内容可以访问云栖社区"异步社区"公众号查看 1.2 ...
- nokia android 8,疑似诺基亚8再曝光:预装Android 8.0系统
[TechWeb报道]8月4日消息,之前诺基亚公布了诺基亚8手机,并且确认蔡司镜头认证.现在最新消息,来自GeekBench数据发现一款诺基亚机型,搭载骁龙835处理器,预装Android 8.0系统 ...
- android屏幕适配的五种方式_讲一讲Android 9.0系统的新特性,对刘海屏设备进行适配...
黑客技术点击右侧关注,了解黑客的世界! Java开发进阶点击右侧关注,掌握进阶之路! Python开发点击右侧关注,探讨技术话题!作者丨郭霖来源丨郭霖(guolin_blog) 其实Android 9 ...
- android 系统源码调试 局部变量值_如何方便快速的整编Android 9.0系统源码?
点击上方"刘望舒",选择"星标" 多点在看,就是真爱! 作者 : 刘望舒 | 来源 :刘望舒的博客地址:http://liuwangshu.cn/fram ...
- android 4.0系统,全新Android 4.0系统_手机Android频道-中关村在线
与搭载Android 2.3系统的OPPO R807不同,OPPO R817搭载了Android 4.0系统.不过这款手机仍旧舍弃了Android系统的原生界面,因此两款手机在界面上的变化其实并不非常 ...
- android9谷歌推送,谷歌Android 9.0系统将统一推送以改善更新碎片化
原标题:谷歌Android 9.0系统将统一推送以改善更新碎片化 玩懂手机网消息,Android和iOS一直是用户眼中两种不同的代名词,Android非常开放,是高度可定制的操作系统,设备制造商还是开 ...
- Android 8.0系统学习(19)--- SystemUI启动流程
Android 8.0系统学习(19)--- SystemUI启动流程 systemui属于系统级应用,在开机过程中就会启动.具体来讲是在SystemServer进程中startOtherServic ...
- Android 8.0 学习(3)---Android 8.0系统的应用图标适配
其实在去年Android 8.0系统刚推出的时候,我就仔细翻阅过Google官方的功能变更文档.变更项着实不少,但是真正需要我们去进行功能适配的地方却并不多.总结了一下,最主要需要进行适配的地方有两处 ...
最新文章
- linux里运行windows,在Linux上运行Windows应用程序
- 老程序员的经验和价值在哪里
- 使用GAN 进行异常检测——anoGAN,TODO,待用于安全分析实验
- jquery 查询元素技巧
- 昂贵的聘礼 poj 1062 dijsk
- 微博短视频千万级高可用、高并发架构如何设计?
- 精选| 2021年5月R新包推荐(第54期)
- java.net.SocketException: Software caused connection abort: socket write error
- paip.获取地理位置根据Ip
- 贝叶斯公式的图形记忆
- 火狐浏览器播放插件Linux,Firefox浏览器带flash播放器插件
- JAVA大型OA协同办公系统源码【源码免费分享】
- Java实现经纬度格式转化
- 计算平均指令时间_上海原油期货将推出TAS指令
- python条形图一直长_Python MatPlotlib条形图调整宽度
- 易语言之后,新式中文编程再现,风头更劲
- T1118,T1677,T1122
- 计算机网络之——非常恶心但友善ip地址、子网掩码、网络地址、构造超网、最小地址和最大地址(理解篇)
- 阿里云服务器+腾讯域名进行域名解析
- Linux开机出现读秒1min30s的问题