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

相关推荐
yzx99101312 分钟前
构建未来:深度学习、嵌入式与安卓开发的融合创新之路
android·人工智能·深度学习
前行的小黑炭27 分钟前
Android :如何快速让布局适配手机和平板?
android·java·kotlin
Yang-Never4 小时前
Kotlin协程 -> Job.join() 完整流程图与核心源码分析
android·开发语言·kotlin·android studio
一笑的小酒馆10 小时前
Android性能优化之截屏时黑屏卡顿问题
android
懒人村杂货铺13 小时前
Android BLE 扫描完整实战
android
TeleostNaCl15 小时前
如何安装 Google 通用的驱动以便使用 ADB 和 Fastboot 调试(Bootloader)设备
android·经验分享·adb·android studio·android-studio·android runtime
小红星闪啊闪15 小时前
Flutter开发 -- 需要了解的Dart知识
flutter
fatiaozhang952716 小时前
中国移动浪潮云电脑CD1000-系统全分区备份包-可瑞芯微工具刷机-可救砖
android·网络·电脑·电视盒子·刷机固件·机顶盒刷机
小李A_Z16 小时前
[Flutter]介绍些flutter的弹窗
flutter
小李A_Z16 小时前
[Flutter]介绍写Flutetr的按钮
flutter