安卓网络请求报错:CLEARTEXT communication to xx.xx.xx.xx not permitted by network securit

160 阅读1分钟
问题

高版本Android项目运行报错:CLEARTEXT communication to xx.xx.xx.xx not permitted by network security policy

原因

Android P 将禁止 App 使用所有未加密的连接,所以高版本默认不支持http请求

解决方案
  • 1 项目改用https请求,安全性更高,但需要后台配合
  • 2 将gradle中的targetSdkVersion 降到27以下 (不推荐,治标不治本)
  • 3 manifest文件中application标签配置上android:usesCleartextTraffic=true (android:usesCleartextTraffic 指示应用程序是否打算使用明文网络流量,例如明文HTTP。目标API级别为27或更低的应用程序的默认值为“ true”。面向API级别28或更高级别的应用默认为“ false”。)