android --------System.err: java.net.UnknownServiceException: CLEARTEXT .....

余生长醉 提交于 2021-02-19 02:28:30

1,当调用远程接口进行网络通信时,报如下错误:

W/System.err: java.net.UnknownServiceException: 
CLEARTEXT communication to 10.240.35.113 not permitted by network security policy

这是因为新的保护机制对于仅使用安全通信的应用,Android 6.0 Marshmallow(API 级别 23)引入了两种机制来解决回退到明文通信的问题:(1) 在生产/安装库中,禁止明文通信,以及 (2) 在开发/QA 期间,在遇到任何非 TLS/SSL 通信时,予以记录或者触发崩溃。下文将更详细地介绍这两种机制。

2,解决方法:

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

android:usesCleartextTraffic=”true

备注:

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

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

android:usesCleartextTraffic=”false

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

 

 另一种方式请看博客

 

    android -------- java.net.UnknownServiceException

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!