我的手机上的网络安全政策不允许进行CLEARTEXT通信

时间:2020-02-11 19:11:48

标签: android http android-security cleartext

我正在构建一个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>

它仍然无法正常工作。 我无法在手机上跟踪问题,因为它可以正常工作。为什么我没有得到与我的朋友手机相同的错误???

我希望它在手机上给我同样的错误,以便能够找到问题所在。我删除了上述所有选项,但仍然可以在我的手机上使用。在添加任何东西之前它甚至还可以正常工作,因为我是在朋友手机上安装后才发现问题的。

2 个答案:

答案 0 :(得分:16)

如果您在api网址中使用Http而不是Https,则只需在标签中添加此行即可。

android:usesCleartextTraffic="true"

它将解决您的问题

答案 1 :(得分:10)

我对本机项目有同样的问题。我通过解决此问题article,将我的托管服务提供商的域名放置了。

  • 创建具有以下内容的res / xml / network_security_config.xml:
<?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>