在线咨询
微信咨询
服务热线
服务热线:15639912513
TOP
当前位置:
首页 > 新闻中心> 安卓课堂>CLEARTEXT communication not…

CLEARTEXT communication not supported: [ConnectionSpec(cipherSuites=[TLS_ECDHE_E

发布时间:2020-03-12 浏览:3660次

郑州app开发过程中遇到代码错误提示。下面是部分代码:

CLEARTEXT communication not supported: [ConnectionSpec(cipherSuites=[TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, TLS_DHE_RSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_DHE_RSA_WITH_AES_128_CBC_SHA........

因为太多的缘故,我在这里就不全部展示了。

下面讲下出现这段代码的原因和解决方法。

原因:出现这些DHE_ECDSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_RSA_WITH_AES等等代码,这些是加密过得代码,为什么是加密过?谷歌表示,Android 9 以后的传输,需要加密进行传输,不能明文显示。

解决:想了想,有两种方法。

1、把调试的时候的targetSdkVersion 这个当前sdk版本号调整Android8.1以后包含Android8.1。

2、另外一种办法就是,在 res 下新增一个 xml 目录,然后创建一个名为:network_security_config.xml 文件(名字自定) ,内容如下,大概意思就是允许开启http请求。

{?xml version="1.0" encoding="utf-8"?}

{network-security-config}

{base-config cleartextTrafficPermitted="true" /}

{/network-security-config}

加上这段代码后,需要在权限清单文件中,增加一条。

 android:networkSecurityConfig="@xml/network_security_config"

这个加在application里面。

TAG
3660
该内容对我有帮助