出自给小学四年级孩子做的人教版数学同步学习 App(lexue4,v1.0.0 已分发自用):纯本地、无网络权限、依赖极简(仅 shared_preferences)。

构建与分发

  • --split-per-abi 瘦身效果显著:arm64 分包 18MB vs 通用包 49MB,差近 3 倍。给确定架构的设备分发时必用。
  • 内置 HarmonyOS Sans SC 字体(随包打包),保证跨厂商 Android 渲染一致——儿童教育类应用字体不统一的观感差异很明显。
  • 局域网分发最小方案:单 HTML 下载页 + 相对路径 APK + 双按钮(arm64 / 通用)+ “未知来源应用”安装引导文案。手机扫码即下,无需任何服务端。
  • 已知限制备忘:release 用 debug 签名(自用可接受,正式分发需独立签名)。

测试踩坑:golden 截图测试中文字体

  • 坑:golden(截图)测试里中文渲染成方块——测试环境默认不加载 pubspec 声明的字体。
  • 解法:测试 setUp 里 loadRealFonts(),从 FontManifest.json 逐个用 FontLoader 加载真实字体,再跑截图对比。
  • 这是 Flutter 中文应用的通用坑,与业务无关,任何 golden 测试前都要做。

内容型 App 的设计经验

  • 静态微课内容与出题引擎分离:可无限出题的题型(乘除法)写随机生成器,其余题型手工题库——内容量与代码量解耦;
  • 学习激励模型:连胜(streak)+ 徽章 + 错题本三件套,SharedPreferences 即可持久化,不需要数据库。

原始素材

  • README

相关页面