java.net.UnknownServiceException: CLEARTEXT communication to wanandroid.com not permitted by network

问题描述:(我后面说的罗里吧嗦一大堆,其实就是网络请求没请求到数据,着急的小伙伴直接看解决方案)在做视频下载的时候,一直下载不到本地的文件中,就翻到最里层的代码去看,翻了一天,终于到了网络请求的那一步,发现请求不到数据,仔细看了看okhttp请求的代码,What?开玩笑呢?没毛病啊   后来重新写了一个网络请求,发现失败回调的方法里竟然有这个异常,就搜了一下,看到了这篇文章,最后,终于把问题给解决了,又看了几篇其他作者的文章,发现还有其他的解决办法,

错误原因:这个错误是在安卓P系统上当调用远程接口进行网络通信时报的错误。

大白话:由于 Android P(版本27以上) 限制了明文流量的网络请求,非加密的流量请求都会被系统禁止掉。所以如果当前应用的请求是 htttp 请求,而非 https ,这样就会导系统禁止当前应用进行该请求。

专业术语:Android致力于保护用户们的设备和数据安全。我们保证数据安全的方法之一是保护所有进入或离开Android设备的数据在传输中使用传输层安全性(TLS)。正如我们在Android P开发人员预览中所宣布的那样,我们通过阻止针对Android P的应用程序默认允许未加密的连接来进一步改进这些保护。这是我们多年来为更好地保护Android用户而做出的各种更改。为了防止意外的未加密连接,我们android:usesCleartextTraffic在Android Marshmallow中引入了manifest属性。在Android Nougat中,我们通过创建Network Security Config功能扩展了该属性,该功能允许应用程序指示他们不打算在没有加密的情况下发送网络流量。在Android Nougat和Oreo中,我们仍然允许明文连接。

解决方法:共四种

1、如果一定要使用明文通信的话,则可以打开AndroidManifest.xml 文件,在 application 元素中添加:

android:usesCleartextTraffic="true"

备注:

1)为了安全,不建议上面的使用明文的通信方式,不过上面的这种方法可以作为一种临时的通信策略

2)如果声明不使用明文通信,则可以在application元素中添加:

android:usesCleartextTraffic=”false” 
此声明指示该应用不使用明文网络通信,并使 Android Marshmallow 的平台网络堆栈禁止该应用中的明文通信。例如,如果您的应用意外尝试通过 HTTP 明文请求登录用户,该请求将被阻止,该用户的身份和密码信息不会泄露到网络上。

2、项目改用https请求;

3、项目的targetSdkVersion改为27以下;

4、在res的xml目录下,新建一个xml文件(名称自定义,如:network_security_config.xml),内容如下:

<?xml version="1.0" encoding="utf-8"?>
<network-security-config><base-config cleartextTrafficPermitted="true" />
</network-security-config>

在manifest清单文件配置application:


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

转载  https://blog.csdn.net/pengyu1801/article/details/87879850  和 https://blog.csdn.net/mysimplelove/article/details/84063571两篇博文,留着只是当做笔记使用,幸运的话,还能解决一些小伙伴的问题

java.net.UnknownServiceException: CLEARTEXT communication to wanandroid.com not permitted by network相关推荐

  1. java.net.UnknownServiceException: CLEARTEXT communication ** not permitted by network security polic

    转载仅供本人存档及后续研究使用,请尊重原创. 转载自:https://blog.csdn.net/yonbor605/article/details/82223882 Android P http网络 ...

  2. java.net.UnknownServiceException: CLEARTEXT communication to leshibaojishi.qiweibang.com not permitt

    java.net.UnknownServiceException: CLEARTEXT communication to leshibaojishi.qiweibang.com not permitt ...

  3. System.err: java.net.UnknownServiceException: CLEARTEXT communication to 192.168.43.172 not permitte

    解决方式 在res目录下创建一个xml文件夹,并创建文件network_security_config.xml,内容如下: <?xml version="1.0" encod ...

  4. java.net.UnknownServiceException: CLEARTEXT communication to ××× not permitted by netwo

    出现这个报错是第一次用安卓9的机器做调试,查了一些博客,发现是如下原因: 在Android P(安卓9)系统的设备上,如果应用使用的是非加密的明文流量的http网络请求,则会导致该应用无法进行网络请求 ...

  5. ava.net.UnknownServiceException: CLEARTEXT communication ** not permitted by network security polic

    Android P http网络请求的问题 Google表示,为保证用户数据和设备的安全,针对下一代 Android 系统(Android P) 的应用程序,将要求默认使用加密连接,这意味着 Andr ...

  6. Android P 网络报错 : java.io.IOException: Cleartext HTTP traffic to ***.com not permitted

    在Android P 使用HttpUrlConnection进行http请求会出现以下异常 java.io.IOException: Cleartext HTTP traffic to ***.com ...

  7. 【错误记录】Android 应用 POST 网络请求报错 ( java.io.IOException: Cleartext HTTP traffic to xxx not permitted )

    文章目录 一.报错信息 二.解决方案 一.报错信息 报错信息如下 : 执行 post 请求信息 , 报如下错误 : W/System.err: java.io.IOException: Clearte ...

  8. CLEARTEXT communication to xxx not permitted by network security policy

    2019独角兽企业重金招聘Python工程师标准>>> Android P http网络请求不通,报出异常:java.net.UnknownServiceException: CLE ...

  9. Android高版本联网失败报错:Cleartext HTTP traffic to xxx not permitted解决方法

    前言:为保证用户数据和设备的安全,Google针对下一代 Android 系统(Android P) 的应用程序,将要求默认使用加密连接,这意味着 Android P 将禁止 App 使用所有未加密的 ...

最新文章

  1. Java面向对象----封装概念
  2. python stock query
  3. Python 技术篇-利用pyqt5库监听剪切板变动,clipboard.dataChanged.connect()剪切板监听
  4. 玩转mini2440开发板之【在Ubuntu 14.04下编译安装tslib 1.4版本】
  5. jbehave_使用JBehave,Gradle和Jenkins的行为驱动开发(BDD)
  6. 第七节:WebApi与Unity整合进行依赖注入和AOP的实现
  7. ofb模式_密码学中的输出反馈模式(OFB)
  8. 计算机视觉论文-2021-07-06
  9. Kotlin - 100%兼容java和android开发
  10. java 数组详解_java_day03:数组详解
  11. 修改Linux用户配置之后先验证再退出
  12. LeetCode 70. 爬楼梯 (递归斐波那契 | 动态规划)
  13. Win10 Windows Defender自动删除破解工具的exe文件
  14. 如何使用PPT制作随机点名抽奖
  15. Ant Design Pro 企业级后台实战(73 个视频)
  16. 基于WeMos D1+esp8266的智能垃圾桶和智能家居
  17. pdf合到一起java_如何将两个PDF文件合并成一个Java?
  18. 谷粒商城 高级篇 (七) --------- 性能压测
  19. 简单的android ant 批量打包
  20. 3、【债券策略】基于利差的债券多空策略(2021-12-27修改)

热门文章

  1. java中堆与栈的区别_java中堆和栈的区别分析
  2. php内置函数数组函数,PHP 数组排序内置函数
  3. Go语言来了,要代替C和Python?
  4. 如何写单片机的寄存器,这篇文章带你入门。
  5. java 生产者消费者_基于JAVA的生产者消费者问题
  6. php的验证码要gd库,PHP利用GD库实现一个简单的验证码
  7. Linux 网页挂马实验,网页挂马详细教程
  8. 编写jmeter测试用例_Jmeter性能测试系列篇(十)--批量用例执行结果检查设置
  9. 《javascript 高级程序设计》 笔记1 1~7章
  10. python 字符串报错 but no encoding declared