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

相关推荐
恋猫de小郭41 分钟前
2026 Flutter VS React Native ,同时在 AI 时代 VS Native 开发,你没见过的版本
android·前端·flutter
冬奇Lab2 小时前
PowerManagerService(上):电源状态与WakeLock管理
android·源码阅读
明君879975 小时前
Flutter 如何给图片添加多行文字水印
前端·flutter
BoomHe7 小时前
Now in Android 架构模式全面分析
android·android jetpack
codingWhat9 小时前
小程序里「嵌」H5:一套完整可落地的 WebView 集成方案
前端·uni-app·webview
四眼肥鱼13 小时前
flutter 利用flutter_libserialport 实现SQ800 串口通信
前端·flutter
二流小码农14 小时前
鸿蒙开发:上传一张参考图片便可实现页面功能
android·ios·harmonyos
鹏程十八少14 小时前
4.Android 30分钟手写一个简单版shadow, 从零理解shadow插件化零反射插件化原理
android·前端·面试
Kapaseker15 小时前
一杯美式搞定 Kotlin 空安全
android·kotlin
三少爷的鞋15 小时前
Android 协程时代,Handler 应该退休了吗?
android