报错信息提示的是明文(CLEARTEXT)通信到192.168.0.103不被网络安全策略所允许。这通常发生在Android应用开发中,当应用尝试进行网络请求但没有使用加密连接时。
解决方法:
-
确保你的应用使用的是HTTPS而不是HTTP进行网络通信。
-
如果你控制服务器端,确保服务器配置了SSL/TLS证书,以支持HTTPS连接。
-
如果你使用的是第三方服务,并且该服务不支持HTTPS,你可能需要寻找替代方案或使用其提供的HTTPS支持。
-
在应用的网络请求中明确指定使用安全协议,例如在OkHttp客户端中配置:
OkHttpClient client = new OkHttpClient.Builder() .sslSocketFactory(sslSocketFactory, x509TrustManager) .build();
-
如果你有权限修改网络安全配置,可以在应用的
res/xml
目录下添加一个network_security_config.xml
文件,并在其中将目标IP添加到允许名单中:<network-security-config> <domain-config cleartextTrafficPermitted="true"> <domain includeSubdomains="true">192.168.0.103</domain> </domain-config> </network-security-config>
然后在AndroidManifest.xml中引用这个配置:
<application android:networkSecurityConfig="@xml/network_security_config" ...>