android开发,Retrofit与后端交互

建议使用OkHttp 日志拦截器监控网络请求的完整流程,快速定位问题根源。
查看日志,发现有一条错误信息:“java.net.UnknownServiceException: CLEARTEXT communication to (your ip) not permitted by network security policy”。这和安全策略有关,涉及明文通信的问题。我记得Android从某个版本开始默认禁止使用HTTP明文传输,必须使用HTTPS。但我的后端目前使用的是HTTP,没有启用HTTPS,这是问题所在。
原因分析
​Android 9 (API 28) 及以上版本默认禁止明文通信(HTTP),要求使用 HTTPS。
​你的后端地址 http://your ip:8080 未配置 HTTPS,导致请求被系统安全策略拦截。
解决方案
​方法 1:允许明文通信(仅限调试环境)​
​创建网络安全配置文件
在 res/xml 目录下新建 network_security_config.xml,内容如下:

xml
<?xml version="1.0" encoding="utf-8"?> <network-security-config> <domain-config cleartextTrafficPermitted="true"> <domain includeSubdomains="true">10.99.124.102</domain> </domain-config> </network-security-config>
​在 AndroidManifest.xml 中引用配置
标签内添加:
xml
<application ... android:networkSecurityConfig="@xml/network_security_config"> <!-- 其他配置 --> </application>

posted @ 2025-03-18 14:49  雨花阁  阅读(47)  评论(0)    收藏  举报