我正在构建一个APP,并且遇到我的朋友移动设备上的网络安全策略错误所不允许的CLEARTEXT通信(我只是在其他移动设备上对其进行测试)。当然,由于应用程序在我的手机上运行正常(没有USB调试),因此我无法跟踪问题,我从Google Play下载了它。
我通过添加来解决此问题的所有工作
android:usesCleartextTraffic="true"
到AndroidManifest.xml
中的应用程序标签
我还添加了android:networkSecurityConfig="@xml/network_security_config"
我的配置XML:
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<domain-config cleartextTrafficPermitted="true">
<domain includeSubdomains="true">MY IP</domain>
</domain-config>
</network-security-config>
它仍然无法正常工作。 我无法在手机上跟踪问题,因为它可以正常工作。为什么我没有得到与我的朋友手机相同的错误???
我希望它在手机上给我同样的错误,以便能够找到问题所在。我删除了上述所有选项,但仍然可以在我的手机上使用。在添加任何东西之前它甚至还可以正常工作,因为我是在朋友手机上安装后才发现问题的。
答案 0 :(得分:16)
如果您在api网址中使用Http而不是Https,则只需在
android:usesCleartextTraffic="true"
它将解决您的问题
答案 1 :(得分:10)
我对本机项目有同样的问题。我通过解决此问题article,将我的托管服务提供商的域名放置了。
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<domain-config cleartextTrafficPermitted="true">
<domain includeSubdomains="true">my-domain-name.com</domain>
</domain-config>
</network-security-config>
<application
android:networkSecurityConfig="@xml/network_security_config"
android:label="@string/app_name"
android:theme="@style/AppTheme">
<activity android:name=" (...)
</application>