我在手机上收到 ERR_CLEARTEXT_NOT_PERMITTED 而 运行。但在 webview 和模拟器上 运行 没问题

I get ERR_CLEARTEXT_NOT_PERMITTED while running on my mobile. But it is running fine on webview and emulator

我在项目中使用 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>

但对我来说都不行。

知道如何解决这个问题吗?

我最近才遇到这种情况,如果您正在尝试从您的设备连接到任何外部服务器(既然您提到了 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>

希望对您有所帮助。

我的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>

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://)。对我有用