flutter android Webview 打开网页错误ERR_CLEARTEXT_NOT_PERMITTED 、 net:ERR_CACHE_MISS

当你在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

相关推荐
summerkissyou198716 分钟前
Android 16 架构图
android
神龙天舞200143 分钟前
MySQL 备库为什么会延迟好几个小时
android·数据库·mysql
蜡台2 小时前
Flutter 环境搭建 Dart配置
flutter·dart
码农coding4 小时前
android12 systemUI 之锁屏
android
圆山猫4 小时前
[Virtualization](三):RISC-V H-extension 与 Guest 执行模式
android·java·risc-v
爱笑鱼4 小时前
Binder(七):getCallingUid() 读到的是谁?clearCallingIdentity() 又清掉了什么?
android
落叶飘飘s10 小时前
餐饮服务与软件创新的融合:解析海底捞 APP 的 Flutter 鸿蒙开发之路
flutter·华为·harmonyos
2501_9159090610 小时前
iOS 应用反调试技详解术 检测调试器的原理与防护实践
android·ios·小程序·https·uni-app·iphone·webview
Lvan的前端笔记10 小时前
AndroidX 完全入门指南
android·androidx
帅次11 小时前
Android 应用高级面试:Window 近1年高频追问 18 题
android·面试·职场和发展