报错起因
新建项目时targetSdkVersion = 28,28对应的是Android 9.0,在此版本中强制使用https,所以当使用http协议运行在9.0手机上时就会报java.net.UnknownServiceException: CLEARTEXT communication to错误,拿不到后台数据。
解决方案
- 修改targetSdkVersion版本小于28;
- 只运行在Android 9.0之前版本的手机;
- 乖乖听话使用https;
- 就想使用http怎么办?
使用http的解决办法
第一步:res/xml下面新建文件network_security_config.xml(名字随意)
<network-security-config>
<base-config cleartextTrafficPermitted="true" />
</network-security-config>
第二步:在application节点下配置networkSecurityConfig属性
android:networkSecurityConfig="@xml/network_security_config"
当Android项目targetSdkVersion设置为28时,使用HTTP协议会因强制HTTPS政策导致错误。本文介绍如何通过调整targetSdkVersion、使用HTTPS或在network_security_config.xml中配置cleartextTrafficPermitted=true来解决此问题。
1409

被折叠的 条评论
为什么被折叠?



