当你在Flutter应用中尝试打开一个非安全连接的网页(例如HTTP连接而不是HTTPS连接)时,可能会遇到"ERR_CLEARTEXT_NOT_PERMITTED"错误。这是因为默认情况下,Android 9及更高版本禁止应用程序通过非安全的明文HTTP连接进行网络通信。
为了解决这个问题,你可以采取以下三种方法之一:
方法一:使用安全的HTTPS连接
- 将你的网页迁移到使用HTTPS连接。这是更安全的连接方式,并且不会触发"ERR_CLEARTEXT_NOT_PERMITTED"错误。
方法二:配置网络安全性
-
在Flutter项目的`android/app/src/main/res`目录下创建xml目录以及名为`network_security_config.xml`的XML文件。
-
在`network_security_config.xml`文件中添加以下内容:
XML
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<base-config cleartextTrafficPermitted="true">
<trust-anchors>
<certificates src="system" />
</trust-anchors>
</base-config>
</network-security-config>
在`android/app/src/main/AndroidManifest.xml`文件中的`application`标签下添加以下行:
XML
android:networkSecurityConfig="@xml/network_security_config"
方案三 `application`标签下添加usesCleartextTraffic
在`android/app/src/main/AndroidManifest.xml`文件中的`application`标签下添加以下行:
XML
android:usesCleartextTraffic="true"
- 保存文件并重新编译Flutter应用。
现在,你的Flutter应用应该可以打开非安全连接的网页了。但请注意,非安全连接(HTTP)可能存在安全风险,因此我们仍然推荐使用HTTPS连接来保护用户数据的安全性。
附加:如果Webview 错误 net:ERR_CACHE_MISS
android/app/src/main/AndroidManifest.xml中加联网权限
<uses-permission android:name="android.permission.INTERNET"/>
创造价值,乐哉分享!776147358