type
status
date
slug
summary
tags
category
icon
password
👿 问题出现
开发的 Flutter for Windows应用有用户反馈无法正常使用,协助用户远程排查发现
- 登录界面正常,但是登录完成之后程序无法正常使用,网络连接与文件保存均无法完成
- 取用户目录下的 log 查看之后发现 log 量非常的少,基本只有几行初始化 log
- 使用
./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 年都没有被正确解决
- 作者:JiapengMa
- 链接:https://blog.ooop.io/article/060d2dd0-85d5-40f6-bf19-9bad8aa3b66d
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。

