-
1.9.0 Stable
released this
2026-10-11 17:44:35 +08:00 | 4 commits to main since this release[1.9.0] - 2026-10-11
✨ 新增功能
- BatteryManager 实时数据接入
- 新增原生
BatteryManagerHelper,通过 Android 官方 API 读取电池端真实功率 - 主界面充电行改为显示电池端实时功率(1 秒刷新),反映电池实际吸收的能量
- 充电详情页拆分为两个数据源分区:
- BMS 日志:协议、标定档位、实际功率、电压、电流(原有)
- BatteryManager(电池端):电池端电压、电流、功率(新增)
- 与专业功率计(PowerZ)实测数据一致,误差在 0.02W 以内
- 新增原生
🎨 体验优化
-
充电行显示格式调整
- 有线充电:
充电中 · PPS · 5.98W / 7.5W(实际功率 / 标定档位) - 无线充电:
充电中 · 无线 · 12.3W - USB 慢充:
充电中 · USB · 2.1W - 瓦特单位统一为大写
W - 7.5W 等带小数的档位保留一位小数,其余整数值去掉
.0
- 有线充电:
-
字体细节优化
- 充电行数字与拉丁字母改用 Flyme 字体,中文字符保持 HarmonyOS Sans SC
- 解决混合文本下的字体割裂感
- 充电详情页所有功率数值同步应用 Flyme 字体
🐛 问题修复
- 修复主界面充电行在充电器接入初期显示"读取中..."后数值迟迟不刷新的问题
- 修复详情页功率数值字体与其它行不统一的问题
- 修复
wired_level解析后标定档位显示取整误差(如≈8W/L-1修正为≈7.5W/L-1)
📝 技术说明
BATTERY_PROPERTY_CURRENT_NOW读数为电池端净电流(充电器输入减去系统功耗),而非充电器输出端数据- 电池接近满电时数值会明显偏低(涓流阶段),属正常现象
- 与系统状态栏显示的充电功率为不同概念,前者反映电池实际吸收,后者反映充电器输出
Downloads
- BatteryManager 实时数据接入
-
1.7.1 Stable
released this
2026-09-16 22:40:46 +08:00 | 10 commits to main since this release1.7.1
新增
- 平均温度显示:温度面板新增平均温度,与最高/最低温度同排展示(
↑ xx.x℃ ↓ xx.x℃ ⌀ xx.x℃),更直观了解电池工作温度区间
优化
- 数据库升级至 v2:新增
temp_avg字段,历史数据自动迁移,每日平均温度随扫描自动入库 - 构建工具链同步:适配最新 Flutter SDK 的 Android 构建要求(AGP 9.0 / Kotlin 2.2 / Gradle 9.3)
- Release 打包加固:补齐 ProGuard 混淆规则,release 版本构建更稳定
修复
- 修复 Release 版本因缺少混淆规则文件导致打包失败的问题
Downloads
- 平均温度显示:温度面板新增平均温度,与最高/最低温度同排展示(
-
1.7.0-关于页面、数据反作弊能力的紧急发布 Stable
released this
2026-07-31 21:18:13 +08:00 | 13 commits to main since this release[1.7.0] - 2026-07-31
✨ 新增功能
-
关于页面
- 右上角三点菜单新增“关于”入口
- 展示应用 Logo、版本号、作者信息及版权声明
- 支持一键跳转源码仓库(Gitea),便于用户反馈问题
-
数据反作弊能力(紧急发布)
- 容量数据入库前增加有效性校验,拒绝异常值污染趋势图
- 校验规则:容量低于设计容量 60% 或高于 115% 的日志数据将被自动过滤
- UI 层同步增加异常状态检测,容量或电压异常时相关数值自动标红警示
- 该机制同时作用于历史日志扫描与实时数据读取,确保统计结果真实可信
🔧 问题修复
- 修复部分机型上
url_launcher无法正常打开链接的问题(Android 11+ 包可见性适配)
Downloads
-
-
更新日志页面 Stable
released this
2026-07-21 00:06:10 +08:00 | 31 commits to main since this release[1.6.0] - 2026-07-20
✨ 新增
-
魅族 21 Note 机型适配:新增
21 Note特征字识别,设计容量 5500mAh- 21 Note 运行 Flyme 12.6 版本,日志格式与 21 系列一致
- 支持
learned_cap字段直接读取,与 21 / 21 Pro 逻辑相同 - 已加入
DeviceMatching机型映射表
-
更新日志页面:内置
CHANGELOG.md渲染,版本历史一目了然- 使用
flutter_markdown解析,支持标准 Markdown 格式 - 滚动进度条:实时显示阅读进度,提升浏览体验
- 进入页面自动请求 120Hz 高刷新率,滑动更流畅(Flyme LTPO 适配)
- 滚动时呼吸动画维持高刷感知,停止后自动恢复省电策略
- 使用
-
AppBar 菜单重构:刷新按钮左移,右侧新增三点菜单
更新日志:已可用深色模式:占位(1.7.0 实现)关于:占位(1.7.0 实现)
-
原生层高刷控制:新增
MethodChannel通道,支持 Dart 侧动态申请/释放 120Hz- 进入更新日志页面自动触发
- 退出页面自动释放,不影响系统省电策略
✅ 已确认完美支持(更新)
机型 容量来源 设计容量 魅族 20 / 20 Pro / 20 INFINITY remaining_cap+status=Full4700 / 5000 / 4800 mAh 魅族 21 / 21 Pro learned_cap4800 / 5050 mAh 魅族 21 Note(新增) learned_cap5500 mAh ⚡ 优化
- UI 拆分:将
BatteryHealthPage的 UI 部分抽离至独立文件,降低耦合度 - 动画简化:移除复合动画控制器(
AnimationController),改用轻量AnimatedOpacity控制充电条目显隐 - 更新日志性能:缓存 Markdown 渲染结果,避免重复解析
- LTPO 适配:通过进度条微动 + 原生层
preferredRefreshRate,解决更新日志页面降频卡顿问题
🐛 修复
- 修复更新日志页面因
ListView+shrinkWrap导致的unbounded height渲染异常 - 修复充电条目动画状态残留导致的显示异常
- 修复部分
TextStyle中color与foreground混用导致的渲染断言错误
📊 影响范围
device_matching.dart:新增 21 Note 机型映射battery_health_page.dart:AppBar 重构,动画简化battery_data_layout.dart(新增):UI 布局抽离changelog_page.dart(新增):更新日志页面MainActivity.kt:新增原生高刷控制通道pubspec.yaml:新增flutter_markdown依赖,添加assets/CHANGELOG.md
📌 备注
- 已在魅族21 Note Flyme 12.6 上测试通过,日志解析正常 ✅
Downloads
-
-
针对性补充更新 Stable
released this
2026-07-19 20:17:41 +08:00 | 39 commits to main since this release机型匹配情况
✅ 已确认完美支持
- 魅族 20 / 20 Pro / 20 INFINITY
- 魅族 21 / 21 Pro
⚠️ 部分支持(测试中)
- 魅族 18 / 18s / 18 Pro / 18s Pro(日志存在,字段解析适配中)
- 魅族 16s(需回退原厂固件验证)
❌ 确认不支持
- 魅族 21 Note(星纪团队固件,日志格式乱码无法识别,导致异常)
- 魅族 22(系统未生成
mbattery_charger目录)
📌 说明
- 适配状态仅针对 BMS 日志可读性,与手机硬件本身无关
- 部分旧机型(如 16 系)若无日志生成,则无法使用本工具
- 后续若发现其他机型可用,将持续补充
Downloads
-
UI优化、字体更新 Stable
released this
2026-07-14 23:06:46 +08:00 | 45 commits to main since this release[1.5.2] - 2026-07-14
新增
- 浪漫雅圆字体,工程内文件为FlymeFont.ttf
🎨 UI 优化
- 字体体系重构:数字全局替换为 FlymeFont(浪漫雅圆),中文保留 HarmonyOS Sans SC
- 健康度百分比、容量数值、循环次数、电压/温度读数均使用 FlymeFont
- 中文/单位/符号保持 HarmonyOS Sans SC,确保阅读舒适度
- 温标符号修正:温度显示由
°C(度符号 + C)改为专用字符℃(U+2103),与 FlymeFont 原生适配 - 容量行视觉权重优化:
- 当前容量与设计容量数字使用 FlymeFont(字号 20,字重 300)
mAh单位改用 HarmonyOS Sans SC(字号 16,字重 500),与cycles保持一致- 整行颜色统一为
rgb(95, 95, 95),弱化视觉重量,突出健康度大数字
- 电压/温度极值显示优化:数值与单位统一使用 FlymeFont,箭头符号保留 HarmonyOS
🐛 修复
- 修复 FlymeFont 数字 1 在部分场景下显示为红色的问题(字体内部颜色预设)
- 修复容量行
designCap(设计容量)未正确应用 FlymeFont 的问题 - 修复部分
TextStyle中color与foreground混用导致的渲染断言错误 - 统一主界面与二级页面状态栏样式
📊 影响范围
battery_summary.dart:健康度/循环/容量显示样式重构battery_info_panel.dart:电压/温度显示字体统一charge_detail_page.dart:数值字体统一trend_chart.dart:坐标轴数字字体统一
📌 备注
- 本次更新纯 UI 优化,不影响数据读取与计算逻辑
Downloads
-
充电功率显示逻辑重构 Stable
released this
2026-07-08 23:53:33 +08:00 | 49 commits to main since this release[1.5.0] - 2026-07-09
🐛 修复
- 修复有线充电功率计算单位错误(µV × µA 计算时少除 1000,导致功率放大 1000 倍,属于潜藏bug,外面看不出问题)
- 修复魅族 21 系列
learned_cap因受status=Full限制导致容量未及时更新的问题 learned_cap优先级提升:在所有状态行中优先匹配,不再局限于status=Full
⚡ 优化
- 有线充电功率显示重构:
- 主界面:
≈{实际功率}w/{请求功率}w(例:≈30w/65w) - 二级页面:拆分为“请求档位”(
≈80w/L-10)和“实际功率”(≈30w)两行 - USB 慢充保持
≈7.5w不变
- 主界面:
- UI 统一:
- 统一主界面与二级页面状态栏背景色
- 统一主界面与二级页面 AppBar 背景色为
Colors.white - 状态栏图标保持深色(
Brightness.dark)
Downloads
-
针对20系识别问题的补充更新 Stable
released this
2026-07-07 08:35:45 +08:00 | 54 commits to main since this release[1.4.7] - 2026-07-07
🐛 修复
- 修复魅族 20 系列在「今日无充满记录」时,电压极值、温度极值、循环次数显示为 0 的问题
- 修复字段提取与容量提取耦合导致的备用机场景数据丢失
⚡ 优化
- 字段提取(cycle / tbat / vbat / 极值)与容量提取(cap)解耦
- 无论当日是否有
status=Full,均从validLines中提取常规字段 - 容量单独处理:有值则更新,无值则复制前一日数据
📊 影响范围
BatteryHealthPage.readBatteryCapacity重构CapacityExtractor保持不变(1.4.5 已优化)BatteryDataService/DatabaseService保持不变
Downloads
-
针对魅族20系的补充强化更新 Stable
released this
2026-07-05 23:47:54 +08:00 | 57 commits to main since this release1.4.5 - 2026-07-05
🐛 修复
- 修复魅族 20 系列无法识别
learned_cap导致健康度显示异常的问题 - 修复备用机场景下因不充电导致健康度每日跳动的问题
⚡ 优化
- 容量提取仅从
status=Full行采样,数据更准确(BMS 校准态) - 支持
remaining_cap单位自动识别(µAh / mAh),兼容 20/21 系列日志格式 - 无充电日自动沿用最近一次有效容量数据,健康度曲线更平滑
🧪 测试
已在魅族 20 Pro(备用机)连续四天未充电,数值稳定 ✅
等待其他同设备的朋友参与测试Downloads
- 修复魅族 20 系列无法识别