Flutter Web 调试问题: Assertion Failed on Text Input Click in Chrome (Flutter 3.27.0, Dart 3.6.0)

前置条件

  • Flutter 版本: 3.27.0 / 3.27.1
  • Dart 版本: 3.6.0
  • 编译器: Android Studio Ladybug | 2024.2.1 Patch 3
  • 操作系统: macOS Sequoia 15.2 (Apple M2) / Windows 11 专业版 23H2
  • 浏览器: Chrome (131.0.6778.205)

问题描述

直接从 Flutter API 官方页面(Form Class Documentation)复制 Form 示例,并使用 Flutter 的 Web 调试模式运行。

尝试用鼠标单击文本输入时,遇到以下错误:

这个问题是 Flutter 3.27.0 / 3.27.1 的缺陷,官方已经在 Flutter 3.28 版本修复,后续升级到 Flutter 3.28 即可解决此问题。

参考链接


启动C:\Windows\System32\logiLDA.DLL时出现问题,找不到指定模块

Windows 11 每次开机都会弹出下图所示的信息:

经过查找是罗技鼠标驱动的问题,驱动卸载之后,系统重启还是会弹对话框。

具体做法是:

1. 运行、输入 regedit

2. 找到 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run 目录下的 Logitech Download Assistant

3. 右键删除即可

参考链接


Windows 11 Version 21H2 更新提示 “你的设备缺少重要的安全更新。”

最近 (2024/12/24) 家里的电脑在 Windows 更新界面提示 “你的设备缺少重要的安全更新。请确保设备保持打开状态并接通电源,以便更新可以完成。”

如下图:

不管如何点击刷新重试,都会出现上述提示。

系统版本为 Windows 11 Version 21H2,详细信息参考下图:

原因为 Windows 11 Version 21H2 已经在 2023/10/10 终止服务,所以已经无法更新系统补丁。如下图:

解决方法就是安装依旧提供支持的系统版本 Windows 11 Version 23H2 或者 Windows 11 Version 24H2

需要注意的是,升级到  24H2 无法保留已经安装的软件,因此当前 (2024/12/24) 只能升级到 23H2  。

对于不支持的硬件进行升级安装,可以通过 Rufus 写入到 U盘后,不重启电脑,直接点击 U 盘上的安装文件进行安装,可以正常完成系统升级。

如下图:

点击开始会弹出如下信息,保持信息不变即可,如下图:

参考链接


OpenSCAD圆角矩形

OpenSCAD实现圆角矩形,可以参考如下代码:

参考链接


Way to round edges of objects opensCAD

Could not find a command named "/data/Android/flutter/bin/cache/dart-sdk/bin/snapshots/frontend_server.dart.snapshot"

经过多次的 Flutter 版本升级,以前的老项目脚本在执行 flutter pub get 相关的命令时候报错如下:

解决方法为删除项目下的所有 pubspec.lock 文件即可。

参考链接


Flutter 错误:找不到名为 frontend_server.dart.snapshot 的命令

Caught error: Unsupported operation: Platform._operatingSystem

Flutter 代码运行在 Chrome 上的时候报错 “Caught error: Unsupported operation: Platform._operatingSystem”。

报错的原因是因为代码中使用了 Platform.isIOSPlatform.isAndroid 等函数判断系统类型,可惜的是,这些函数并不能在 Chrome 上运行。 

修改方法就是自己封装一个自定义工具类,先使用 kIsWeb 排除一下浏览器。参考如下:

参考链接


Flutter Web 警告 Local variable for "serviceWorkerVersion" is deprecated

升级到 Flutter 3.22.0 之后,在 Chrome 上运行 Flutter Web 应用程序时收到以下警告:

这个警告的原因是,新版本的 Flutter Web 应用加载 service_worker.js 的方式发生了变化,原来的加载脚本被 {{flutter_bootstrap_js}} 替代。

调整为新的初始化代码即可解决此问题。

原始的代码如下:

调整后的代码如下:

参考链接