我在手机上运行时得到ERR_CLEARTEXT_NOT_PERMITTED。但是它在webview和模拟器上运行良好

时间:2019-05-22 17:01:24

标签: android ionic-framework ionic4

我在该项目上使用Laravel Echo Ionic。 在移动设备上运行它时,我收到ERR_CLEARTEXT_NOT_PERMITTED错误,但在Webview和模拟器上运行良好。

我尝试添加

<uses-permission android:name=“android.permission.INTERNET” />
<uses-permission android:name=“android.permission.ACCESS_NETWORK_STATE” />
<uses-permission android:name=“android.permission.ACCESS_WIFI_STATE” />

AndroidManifest.xml上,但是无效。

并且我尝试添加

<access origin=“*”/>
<allow-intent href=“*” />
<allow-navigation href=“*” />

在config.xml上。

最后我尝试用

修改config.xml
<edit-config file=“app/src/main/AndroidManifest.xml” mode=“merge” target=“/manifest/application”>
   <application android:usesCleartextTraffic=“true” />
</edit-config>

但是对我来说一切都不起作用。

您知道如何解决此问题吗?

3 个答案:

答案 0 :(得分:2)

network_security_config.xml

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <domain-config cleartextTrafficPermitted="true">
        <domain includeSubdomains="true">localhost</domain>
        <domain includeSubdomains="true">173.249.51.122</domain>
    </domain-config>
</network-security-config>

仅输入IP地址(不输入http://或https://)。对我来说有用

答案 1 :(得分:1)

这是最近才发生的事情,如果您尝试将设备连接到任何外部服务器(由于您提到了laravel echo,那么我认为您正在尝试连接到IP),那么也许您可以尝试这个。

如果您注意到,位于“ resources”文件夹中的network_security_config.xml将被复制到您的android“ app”文件夹中

...

<platform name="android">
        <edit-config file="app/src/main/AndroidManifest.xml" mode="merge" target="/manifest/application" xmlns:android="http://schemas.android.com/apk/res/android">
            <application android:networkSecurityConfig="@xml/network_security_config" />
        </edit-config>
        <resource-file src="resources/android/xml/network_security_config.xml" target="app/src/main/res/xml/network_security_config.xml" />
        <allow-intent href="market:*" />
        <icon density="ldpi" src="resources/android/icon/drawable-ldpi-icon.png" />
        <icon density="mdpi" src="resources/android/icon/drawable-mdpi-icon.png" />
        <icon density="hdpi" src="resources/android/icon/drawable-hdpi-icon.png" />
...
</platform>
...

也许尝试将位于resources / android / xml / network_security_config.xml中的network_security_config.xml文件修改为:

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <domain-config cleartextTrafficPermitted="true">
        <domain>localhost</domain>
        <domain>your_external_ip_here</domain>
    </domain-config>
</network-security-config>

希望获得帮助。

答案 2 :(得分:-1)

我的network_security_config.xml文件中的一些更改可以尝试。这对我有用。添加您的IP地址

<?xml version="1.0" encoding="utf-8"?><network-security-config>
<domain-config cleartextTrafficPermitted="true">
    <domain>localhost</domain>
      <domain>http://192.168.0.51:8082/hbpms"</domain>
</domain-config>