Android报错java.net.UnknownServiceException: CLEARTEXT communication to

新写项目运行到Android9手机上的时候(测试机为华为手机)  提示了如下信息

java.net.UnknownServiceException: CLEARTEXT communication to *********** not permitted by network security policy

附上一张debug模式下的报错信息

报错信息

出现原因:

在Android P系统的设备上,如果应用使用的是非加密的明文流量的http网络请求,则会导致该应用无法进行网络请求,https则不会受影响,同理 若应用内使用WebView加载网页  则加载网页也需要是https请求

解决方式

解决方式有三种

(1)APP整体网络请求改用https

(2)将targetSdkVersion 版本下调至27以下

(3)更改项目网络安全配置


我使用的是更改网络完全配置  具体说明一下怎么更改app网络安全配置

一:在res目录下新建xml文件夹 在xml文件夹内新建名为

network_config(名字非固定)的xml

附加内容为

<network-security-config>
    <base-config cleartextTrafficPermitted="true" />
</network-security-config>

二:在AndroidManifest中增加属性

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

以上两个步骤就完成了网络安全配置 问题已解决

当然 前两种方法也可行 就比较简单易懂了 可自行选择使用哪种解决方案 

祝好运

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值