flutter 安卓webview 无法加载http解决方案net::ERR_CLEARTEXT_NOT_PERMITTED

webview 报错net::ERR_CLEARTEXT_NOT_PERMITTED

从Android 9.0(API级别28)开始,默认情况下禁用明文支持。因此http的url均无法在webview中加载

解决方案 首先保证App申明了网络权限

    <uses-permission android:name="android.permission.INTERNET"/>

解决办法(1):
在Application中打开一个开关

<manifest ...>
    <application
        ...
        android:usesCleartextTraffic="true"
        ...>
        ...
    </application>
</manifest>

解决办法(2):
res 下新建 xml 目录,创建文件:network_security_config.xml ,内容如下:

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

在 AndroidManifest.xml 的 application 标签添加配置:

<manifest ...>
    <application
        ...
        android:networkSecurityConfig="@xml/network_security_config"
        ...>
        ...
    </application>
</manifest>

解决办法(3):
服务器和本地应用都改用 https
flutter 如果设置一个不管用那就把两个都设置下,如果还不管用关闭下工程从新打开下,app从新安装