Lazy loaded image
技术随笔
🗒️Flutter 应用在 Windows 11上无法正常使用
字数 1194阅读时长 3 分钟
2024-1-19
2025-9-17
type
status
date
slug
summary
tags
category
icon
password
😀

👿 问题出现

开发的 Flutter for Windows应用有用户反馈无法正常使用,协助用户远程排查发现
  1. 登录界面正常,但是登录完成之后程序无法正常使用,网络连接与文件保存均无法完成
  1. 取用户目录下的 log 查看之后发现 log 量非常的少,基本只有几行初始化 log
  1. 使用 ./live.exe > output.log 2>&1 输出运行日志

定位问题

PathNotFoundException: Directory listing failed, path = 'C:\Users\Lenovo\AppData\Roaming\cn.natureloves\live/libCachedImageData\log\*
没有处理好路径连接符的问题,要知道在 Windows平台上与 Unix 平台的斜杆是相反方向的
但是处理完之后发现还不是主要造成用户使用问题的主要原因,而是不起眼的一行日志
[ERROR:flutter/shell/common/shell.cc(89)] Dart Error: Dart_NewStringFromUTF8 expects argument 'str' to be valid UTF-8.
后面发现每次都是在出现这行日志之后,程序失去了正常响应,所以重点排查这个问题,而且终于找到相关的issue
一旦 Windows11 用户使用带有中文或者特殊符号的电脑名称,就会出现上述问题,导致程序出现类似无法响应问题

🤗 总结归纳

实际上这个 BUG 并没有解决,解决办法目前其实是帮用户电脑更换不在中文的电脑名称
哎~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
只能说小小的 flutter/dart 真的是遍地是坑,这个 issue 在 22 年被提出,到目前 24 年都没有被正确解决
 
上一篇
ipa文件重签名脚本
下一篇
Android设置SOFT_INPUT_ADJUST_RESIZE不起作用