main
MEIZU Battery Healthy
专机专配 · 仅针对魅族独家开发
一个简洁的手机电池健康度监测工具
通过读取 BMS 日志(/storage/emulated/0/mbattery_charger/)直接获取电池真实数据
不依赖系统 API 估算。
功能
- 读取 BMS 日志,解析
learned_cap、cycle、tbat、vbat等关键字段 - 显示电池健康度(当前容量 / 设计容量)
- 显示循环次数、电压、温度(含当日极值)
- 近 15 天容量百分比趋势柱状图
- 实时充电状态识别(有线 / 无线、PPS / SDP / EPP)
- 充电功率、电压、电流实时显示
- 充电详情页(协议 / 功率 / 电压 / 电流 / 档位)
当前状态
| 版本 | 主题 | 状态 |
|---|---|---|
| 1.5.0 | 功率计算优化 | ✅ 已发布 |
| 1.5.2 | 部分场景字体替换 | ✅ 已发布 |
| 1.6.0 | 更新日志独立页面 | ✅ 已发布 |
| 1.7.0 | 适配夜间模式 | 📋近期开发 |
| 2.0.0 | 数据看板月份显示扩展等系列更新 | 📋 远景 |
| 3.0.0 | 搭配PC上位机记录充电信息等 | 📋 远景 |
环境要求
- Flutter SDK: ^3.9.2
- Android: 8.0+ (API 26+)
机型匹配情况
| 机型 | 系统版本 | 容量来源 | 设计容量 | 状态 |
|---|---|---|---|---|
| 魅族 22 | Flyme 12.x | 系统未生成 mbattery_charger 目录 |
5510 mAh | ❌ 不支持 |
| 魅族 21 | Flyme 12.x | learned_cap |
4800 mAh | ✅ 与 21 Pro 同步获得支持 |
| 魅族 21 Pro | Flyme 12.x | learned_cap |
5050 mAh | ✅ 初始支持 |
| 魅族 21 Note | Flyme 12.x | learned_cap |
5500 mAh | ✅ 1.6.0 新增支持 |
| 魅族 21 Note | Flyme 10 / 11 | 日志格式异常 | — | ❌ 不支持 |
| 魅族 20 | Flyme 12.x | remaining_cap + status=Full |
4700 mAh | ✅ 1.4.0 首次支持 |
| 魅族 20 Pro | Flyme 12.x | remaining_cap + status=Full |
5000 mAh | ✅ 1.4.0 首次支持 |
| 魅族 20 INFINITY | Flyme 10.x | remaining_cap + status=Full |
4800 mAh | ✅ 1.5.3 字段匹配 |
| 魅族 18 / 18s / 18 Pro / 18s Pro / 18X | Flyme 9 | 日志停止生成 | 4000 / 4500 mAh | ❌ 无适配条件 |
| 魅族 18 / 18s / 18 Pro / 18s Pro / 18X | Flyme 10 | 不再主动适配 | 4000 / 4500 mAh | ⚠️ 实验性支持 |
| 魅族 17 / 17Pro | Flyme 8 / 9 / 10 | 等待群友提供字段信息 | 4500 / 4500mAh | ⚠️ 待验证 |
| 魅族 16th / 16th Plus / 16X / 16s / 16sPro / 16Xs / 16T | Flyme 7 / 8 / 9 | 需回退原厂固件验证 | - | ⚠️ 若新版本无日志,则变为实验性支持,不主动适配 |
状态说明
| 状态 | 含义 |
|---|---|
| ✅ 完美支持 | 已通过实机验证,所有字段完整解析 |
| ⚠️ 实验性支持 | 理论上可支持,但需要用户协助验证 |
| ⚠️ 待验证 | 尚未收到实机日志反馈,待确认 |
| ❌ 不支持 | 系统未生成 BMS 日志,或日志格式无法解析 |
特别说明
- Flyme 版本差异:同一机型在不同 Flyme 版本下日志格式可能不同。例如 21 Note 在 Flyme 12.x 下可正常读取
learned_cap,但在 Flyme 10/11 下日志格式异常。 - 日志停止生成:部分机型在升级到新系统后(如 17/18 系升级到 Flyme 10),系统不再向
mbattery_charger目录写入新日志,文件夹虽存在但停止更新。 - 适配策略:优先支持日志格式稳定的 Flyme 12.x 机型,旧版本系统暂不主动适配,若有用户长期停留在旧版本并愿意协助测试,可酌情增加支持。
如果需要基于此源代码构建
# 拉取依赖
flutter pub get
# Debug 版本
flutter run --debug
# Release APK
flutter build apk --release --target-platform android-arm64
Description