diff --git a/README.md b/README.md
index 569bc3b..70a661e 100644
--- a/README.md
+++ b/README.md
@@ -2,41 +2,105 @@
> 专机专配 · 仅针对魅族独家开发
-一个简洁的手机电池健康度监测工具
-通过读取 BMS 日志(`/storage/emulated/0/mbattery_charger/`)直接获取电池真实数据
-不依赖系统 API 估算。
+一个简洁的手机电池健康度监测工具
+通过读取 BMS 日志(`/storage/emulated/0/mbattery_charger/`)与 Android BatteryManager API
+直接获取电池真实数据,不依赖系统 API 估算。
---
## 功能
+### 🔋 日常健康观察
- 读取 BMS 日志,解析 `learned_cap`、`cycle`、`tbat`、`vbat` 等关键字段
-- 显示电池健康度(当前容量 / 设计容量)
-- 显示循环次数、电压、温度(含当日极值)
+- 显示电池健康度(当前容量 / 设计容量)、循环次数、电压、温度
+- 温度面板提供当日最高 / 最低 / **平均**三项数据
+- 异常数据自动标红(容量 < 60% 或 > 115%、电压异常)
+
+### ⚡ 实时充电监控
+- 系统级充电状态识别(有线 / 无线 / USB)
+- **双数据源融合**:
+ - BMS 侧:充电协议(PPS / SDP / EPP)、标定档位、充电器端功率
+ - 电池端:BatteryManager 实时电压、电流、功率(1 秒刷新)
+- 主界面充电行格式:`充电中 · PPS · 5.98W / 7.5W`
+- 充电详情页拆分为「BMS 日志」与「BatteryManager」双分区展示
+
+### 📈 历史数据积累
+- 本地 SQLite 数据库持久化每日容量、电压极值、平均温度
- 近 15 天容量百分比趋势柱状图
-- 实时充电状态识别(有线 / 无线、PPS / SDP / EPP)
-- 充电功率、电压、电流实时显示
-- 充电详情页(协议 / 功率 / 电压 / 电流 / 档位)
+- 数据库自动迁移(v1 → v2 引入 `temp_avg` 字段)
+
+### 🎨 个性化
+- 支持浅色 / 深色 / 跟随系统三种主题模式
+- 首页、详情页、更新日志页、关于页全场景深色适配
+- 主题选择自动持久化
---
-## 当前状态
+## 版本状态
| 版本 | 主题 | 状态 |
| :--- | :--- | :--- |
| 1.5.0 | 功率计算优化 | ✅ 已发布 |
| 1.5.2 | 部分场景字体替换 | ✅ 已发布 |
| 1.6.0 | 更新日志独立页面 | ✅ 已发布 |
-| 1.7.0 | 关于页与紧急发布log文件数据反作弊能力 | ✅ 已发布 |
-| 1.8.0 | 适配夜间模式 | 📋近期开发 |
-| 2.0.0 | 数据看板月份显示扩展等系列更新 | 📋 远景 |
-| 3.0.0 | 搭配PC上位机记录充电信息等 | 📋 远景 |
+| 1.7.0 | 关于页 + 数据反作弊校验 | ✅ 已发布 |
+| 1.7.1 | 平均温度显示 + 数据库 v2 | ✅ 已发布 |
+| 1.8.0 | 夜间模式 + 主题系统重构 | ✅ 已发布 |
+| 1.9.0 | BatteryManager 实时数据接入 | ✅ 已发布 |
+| 2.0.0 | 数据看板月份扩展、充电曲线 | 📋 开发中 |
+| 3.0.0 | PC 上位机充电信息记录 | 📋 远景 |
+
+---
+
+## 数据来源说明
+
+本应用同时使用两套数据源,用户看到的每个数值都标注了来源:
+
+### BMS 日志(充电器端)
+- 来源:`/storage/emulated/0/mbattery_charger/` 目录下的日志文件
+- 特点:数据详尽(协议、档位、充电器输出功率),但**刷新有延迟**(日志落盘需几秒到十几秒)
+- 用途:判断充电协议协商、快充档位、充电器端能力
+
+### BatteryManager(电池端)
+- 来源:Android 官方 `BatteryManager.BATTERY_PROPERTY_CURRENT_NOW`
+- 特点:**1 秒实时刷新**,反映电池实际吸收的功率
+- 用途:显示电池端真实能量流
+- 注意:读数为**电池端净电流**(充电器输入减去系统功耗),电池接近满电时数值会明显偏低,属正常现象
+
+**两套数据的差异**:BMS 侧数据回答"充电器给了多少",BatteryManager 数据回答"电池吸收了多少",两者之差即为系统运行时消耗 + 转换损耗。
+
+---
+
+## 技术架构
+
+```
+┌─────────────────────────────────────────┐
+│ Flutter UI │
+│ 主页 / 详情 / 更新日志 / 关于 │
+├─────────────────────────────────────────┤
+│ 业务逻辑层 │
+│ ChargeParser / CapacityExtractor │
+│ BatteryDataService / ChargeUtils │
+├─────────────────────────────────────────┤
+│ 服务层 │
+│ SafStorageService ← BMS 日志读取 │
+│ BatteryManagerService ← BM 数据读取 │
+│ DatabaseService ← SQLite 持久化 │
+│ ThemeService ← 主题持久化 │
+├─────────────────────────────────────────┤
+│ 原生通道(Kotlin) │
+│ /saf /charge /charge_events /frame_rate │
+│ BatteryManagerHelper │
+└─────────────────────────────────────────┘
+```
+
---
## 环境要求
- Flutter SDK: ^3.9.2
- Android: 8.0+ (API 26+)
+- 构建环境:AGP 9.0.0 / KGP 2.2.20 / Gradle 9.3.1
---
@@ -44,37 +108,37 @@
| 机型 | 系统版本 | 容量来源 | 设计容量 | 状态 |
|---|---|---|---|---|
-| 魅族 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 新增支持 |
+| 魅族 22 | Flyme 12.x | 系统未生成日志目录 | 5510 mAh | ❌ 不支持 |
+| 魅族 21 | Flyme 12.x | `learned_cap` | 4800 mAh | ✅ 支持 |
+| 魅族 21 Pro | Flyme 12.x | `learned_cap` | 5050 mAh | ✅ 支持 |
+| 魅族 21 Note | Flyme 12.x | `learned_cap` | 5500 mAh | ✅ 支持 |
| 魅族 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 | 需回退原厂固件验证 | - | ⚠️ 若新版本无日志,则变为实验性支持,不主动适配 |
+| 魅族 20 | Flyme 12.x | `remaining_cap` + `status=Full` | 4700 mAh | ✅ 支持 |
+| 魅族 20 Pro | Flyme 12.x | `remaining_cap` + `status=Full` | 5000 mAh | ✅ 支持 |
+| 魅族 20 INFINITY | Flyme 10.x | `remaining_cap` + `status=Full` | 4800 mAh | ✅ 支持 |
+| 魅族 18 / 18s 系列 | Flyme 9 | 日志停止生成 | 4000 / 4500 mAh | ❌ 无适配条件 |
+| 魅族 18 / 18s 系列 | Flyme 10 | — | 4000 / 4500 mAh | ⚠️ 实验性支持 |
+| 魅族 17 / 17 Pro | Flyme 8 / 9 / 10 | 待群友提供字段 | 4500 mAh | ⚠️ 待验证 |
+| 魅族 16 系列 | 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 机型,旧版本系统暂不主动适配,若有用户长期停留在旧版本并愿意协助测试,可酌情增加支持。
+- **日志停止生成**:部分机型升级到新系统后(如 17/18 系升级到 Flyme 10),系统不再向 `mbattery_charger` 目录写入新日志,文件夹虽存在但停止更新。
+- **适配策略**:优先支持日志格式稳定的 Flyme 12.x 机型,旧版本系统暂不主动适配。
---
-## 如果需要基于此源代码构建
+## 从源码构建
```bash
# 拉取依赖
@@ -83,6 +147,20 @@ flutter pub get
# Debug 版本
flutter run --debug
-# Release APK
+# Release APK(仅 arm64)
flutter build apk --release --target-platform android-arm64
-```
\ No newline at end of file
+```
+
+### 已知构建注意事项
+
+- **原生通道改动需完整重建**:修改 Kotlin 代码后必须 `flutter run`(不要热重载)
+- **ProGuard 规则**:release 构建需要 `android/app/proguard-rules.pro`(已包含)
+- **Gradle 版本锁定**:不要随意升级 AGP / KGP / Gradle,当前组合已通过验证
+
+---
+
+## 反馈与贡献
+
+- 源码仓库:https://git.whitetop.xyz/lxh2875931338/MEIZU-Battery-Healthy
+- 机型适配、字段解析问题欢迎提 Issue
+- 新机型支持需要提供当日 `mbattery_charger_log_*.` 日志样本