# 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` 目录 | — | ❌ 不支持 | | 魅族 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 12.x | `remaining_cap` + `status=Full` | 4800 mAh | ✅ 1.5.3 字段匹配 | | 魅族 18 / 18s / 18 Pro / 18s Pro / 18X | Flyme 9 / 10 | 日志存在,字段适配中 | 4000 / 4500 mAh | ⚠️ 等待测试中 | | 魅族 17 / 17Pro | Flyme 8 / 9 / 10 | 等待群友提供字段信息 | 4500 / 4500mAh | ⚠️ 待验证 | | 魅族 16th / 16th Plus / 16X / 16s / 16sPro / 16Xs / 16T | Flyme 8 / 9 | 需回退原厂固件验证 | 3600 mAh | ⚠️ 待验证 | ### 📌 说明 - ✅ **完美支持**:已通过实机验证,日志解析正常,所有字段完整 - ⚠️ **测试中**:日志存在但字段格式与 20/21 系不同,需要进一步适配 - ⚠️ **待验证**:理论上可能支持,需要实机反馈确认 - ❌ **不支持**:系统未生成 BMS 日志目录,或日志格式无法解析 - **系统版本说明**:Flyme 12.x 及以上版本日志格式统一,Flyme 10/11 及以下版本日志格式可能存在差异 目前据群友反馈已知: - 魅族22无mbattery_charger目录生成,无法实时计算相应百分比,因此已在最近版本去除相关匹配信息 - 魅族18在后续的版本中关闭了mbattery_log生成,疑似无效,老版本可能支持 - 最完美的支持版本至少可覆盖魅族20/21系机型(20inf已确认,机型匹配ID已更新) --- ## 如果需要基于此源代码构建 ```bash # 拉取依赖 flutter pub get # Debug 版本 flutter run --debug # Release APK flutter build apk --release --target-platform android-arm64 ```