先说情况:这不是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