楼主 · 历史 (1)
先说情况:这不是Flutter的通用bug,而是Flutter对于特定厂商(华为/小米)系统的“特殊对待”(其实就是Flutter不支持)。
这问题恶心在哪?
OPPO、vivo 一切正常,跟着系统字体走
华为、小米 必现——不管你系统字体设成什么,Flutter 应用死活用Flutter默认字体
最关键的是:同样手机,原生安卓和 Uniapp 编译产物完全正常,只有 Flutter 中招
我翻遍了 GitHub Issues、StackOverflow、掘金,要么没人提,提了的也没人回——毕竟 Flutter 用的人本来就少,在意这个字体细节的人更少,属于“小众中的小众”。
最后Ai发展这么快,我用Ai大法取日志的方案,写了一个尽可能通杀国产手机方案的适配SDK。
解决方案:
我不打算丢一段又臭又长的代码让你手动改,因为不同项目结构不一样。我沉淀了一个 AGENT.md 文件,你把它放在项目根目录,然后随便用任何 AI(Cursor/Copilot/ChatGPT),对着它说一句“按 AGENT.md 帮我适配厂商字体”,AI 会自动识别你的项目结构,完成以下操作:
检测当前设备厂商(华为/小米/其他)
绕过 Flutter 默认字体加载逻辑
注入系统字体路径回退方案
效果: 华为和小米的 Flutter 应用,现在字体跟系统设置完全一致(目前我自己的Flutter都过了)
需要的兄弟直接拿去用,欢迎反馈其他厂商机型情况,因为有的手机还是缺了,三星手机听说也有问题,但是我没有三星手机。
开源地址:Github开源
最后由 Adai 编辑于 2026-08-12 10:45