MiCarSettings 知识库总索引
docs/下知识库体系的统一入口,串联四大专题知识库 + 顶层编号教程 + 其他专题。 维护方式:每个专题独立子文件夹(00-README.md索引 + 分篇 + mermaid 图),本文件是顶层导航。 最近更新:2026-07-15
一、知识库全景
flowchart LR subgraph 业务["业务功能层"] A1["座舱车门知识库<br/>车门/门锁/离车提醒<br/>JIRA 1838/1839"] end subgraph 性能["应用内部层"] B1["应用启动初始化知识库<br/>启动框架/耗时/性能"] end subgraph 交付["交付集成层"] C1["Artifactory发布知识库<br/>出包上传 maven(上传侧)"] D1["整机源码集成知识库<br/>YU7 整机编译集成(消费侧)"] end subgraph 基础["基础教程(顶层 00-09)"] E1["项目全景/架构/路由<br/>IPC/页面/Flavor/打包"] end A1 -.->|读写经 SettingsCarPropertyManager| F1["SettingsCarPropertyManager源码解析"] B1 -.->|病根 CarPropertyCacheManager:192| F1 C1 ==>|发布的 apk 坐标| D1 A1 --> B1 --> C1 --> D1 style A1 fill:#ffe1e1 style B1 fill:#fff3e0 style C1 fill:#e1f5e1 style D1 fill:#e1e1ff
红色=业务、橙色=性能、绿色=发布(上传)、蓝色=集成(消费)。
==>表示 apk 从发布仓库流向整机集成。
二、四大专题知识库
1️⃣ 座舱车门知识库
- 位置:
座舱车门知识库/|建库 2026-07-07 - 主题:车门开关、门锁、尾门/前备箱、童锁、车窗锁、离车提醒弹窗、开门预警(DOW)
- 一句话结论:车门设置主力模块
micarLockSettings;车门状态Door.STATE(propId0x66403101);JIRA 1838/1839 同源于DoorUnLockActivity首帧数据未就绪 - 核心文档:
- 00-README(索引 + 边界:MiCarSettings vs SceneService)
- 01-车门业务代码全景
- 02-车门信号与属性定义
- 03-门开关业务流程图
- 04-MANNPROB-1838-根因-弹窗弹两次
- 05-MANNPROB-1839-根因-车门闪烁全开
- 06-调试与mock复现指南
2️⃣ 应用启动初始化知识库
- 位置:
应用启动初始化知识库/|建库 2026-07-08 - 主题:
SettingsApplication冷启动全貌 —— 启动框架、主/异步任务、耗时、时序、性能 - 一句话结论:双任务并行(
MainThreadStartTask+AsyncThreadStartTask)+CountDownLatch;主线程实测 247ms(注释 71ms),病根CarPropertyCacheManager.java:192主线程同步注册 - 核心文档:
3️⃣ Artifactory发布知识库(上传侧)
- 位置:
Artifactory发布知识库/|建库 2026-07-14 - 主题:把 release APK 发布到小米内网 JFrog Artifactory(Maven 兼容)
- 一句话结论:jfrog
4.24.0+maven-publish,坐标com.mi.car:MiCarSettings:{version}-{flavor};核心 401 坑——loadBuildConfig只读 env/project.properties,不读 local.properties - 核心文档:
- 00-README(TL;DR + 全貌 + 坑速查)
- 01-发布基础设施与配置详解
- 02-认证机制与账号配置
- 03-发布实战与排查手册
4️⃣ 整机源码集成知识库(消费侧)
- 位置:
整机源码集成知识库/|建库 2026-07-15 - 主题:解耦 APK 如何配置进 YU7 整机源码并整机编译
- 一句话结论:YU7=suiren 车型(XCD);升级 MiCarSettings 只改
manifest.xml:131的revision;编译./mibuild.sh -l suiren-userdebug -t full -u cn;拉取走内网白名单免账号 - 核心文档:
- 00-README(TL;DR + 全貌 + 对抗裁决)
- 01-解耦APK集成机制
- 02-版本配置与拉取链路
- 03-YU7车型与编译命令
- 04-实战升级与验收手册
三、按场景索引(我想做 X → 看哪里)
| 我要做什么 / 遇到什么 | 去哪 |
|---|---|
| 排查启动慢 / 白屏 / ANR | 应用启动初始化知识库 05 |
| 主线程卡顿,CarProperty 注册阻塞 | 应用启动 05 + SettingsCarPropertyManager源码解析 |
上传 APK 到 maven / updateApkAssemble* | Artifactory发布知识库 03 |
| 发布报 401 Unauthorized | Artifactory 02(账号读取源坑) |
| 升级 YU7 整机的 CarSettings 版本 | 整机集成 04(改 manifest revision) |
| 整机编译命令 / YU7 是什么车型 | 整机集成 03 |
| 车门 / 门锁 / 尾门 bug | 座舱车门知识库 |
| 离车提醒弹窗异常(JIRA 1838/1839) | 05 |
| 车控信号 mock / 复现 | 座舱车门 06 |
| 新增一个设置页 | 顶层 08-开发实战-新增设置页 |
| 理解项目结构 / Flavor / 打包 | 顶层 01-项目全景 / 07-多Flavor / 09-Setting打包教程 |
| 车辆接口 / CarProperty / IPC | 顶层 05-车辆接口层与IPC |
四、知识库之间的关系(全链路)
四大专题 + 基础设施构成「代码 → 性能 → 发布 → 集成」的完整链路:
flowchart TD A["代码开发<br/>(座舱车门等业务)"] --> B["启动性能优化<br/>(应用启动初始化)"] B --> C["打包上传 maven<br/>(Artifactory 发布)"] C --> D["整机源码集成<br/>(YU7 整机编译)"] D --> E["整机 image 出包"] F["SettingsCarPropertyManager<br/>(车辆属性底层)"] -.->|被车门/启动/IPC 共用| A F -.-> B G["顶层 00-09 教程<br/>(架构/路由/页面/Flavor)"] -.->|基础知识| A style C fill:#e1f5e1 style D fill:#e1e1ff
- Artifactory 发布 产出的
com.mi.car:MiCarSettings:{version}-{flavor}apk → 被 整机集成 的sync_maven_apk.py拉取消费(上传侧 ↔ 消费侧闭环) - 座舱车门 和 应用启动 都读写车辆属性,底层是
SettingsCarPropertyManager(见 SettingsCarPropertyManager源码解析)
五、其他文档(docs/ 全貌)
顶层编号教程(00-09,系统级知识)
- 00-README-总览与学习路线
- 01-项目全景与构建体系
- 02-核心架构-PreferenceController范式
- 03-路由框架详解
- 04-语音搜索插件详解
- 05-车辆接口层与IPC
- 06-典型页面全链路剖析
- 07-多Flavor与海外适配
- 08-开发实战-新增设置页
- 09-Setting打包教程
其他专题子目录
- SettingsCarPropertyManager源码解析 —— 车辆属性读写底层(车门/启动/IPC 共用基础)
- 车辆信号通讯方式研究、信号调试工具 —— 信号通讯与调试
- 后屏投影知识库 —— 后屏投影专题
- 整体架构探索 —— 架构探索
- 开发环境配置 —— 环境配置
- 启动慢白屏分析-20260726.md —— 启动慢 bugreport 实测(应用启动知识库的耗时权威来源)
- 排障实录-全部应用全空与CarService崩溃风暴-20260902.md —— 「全部应用」全空/下拉框异常排查:抽屉属 SystemUI AppDrawer 非 launcher;ROM CarService 崩溃风暴致列表永不初始化;含「装包时间共现≠因果」误判案例与取证命令
六、知识库建立方法(统一规范)
所有专题知识库遵循同一套方法(见个人偏好 docs-knowledgebase-workflow):
- 多 Agent 并行研究:复杂主题 fan-out 多个 Explore Agent,各管一个方向(如启动用 5 Agent、整机集成用 4 Agent 对抗)
- 多 mermaid 图:每个知识库至少含 classDiagram/flowchart/sequenceDiagram/stateDiagram 中的若干
- 分文件夹 + 分篇:每个专题独立子文件夹,
00-README.md索引 + 按维度分篇 - 源码行号引用:所有结论带
文件:行号,可点击定位 - 对抗裁决:多 Agent 结论冲突时,资深工程师用源码核对裁定(如整机集成里纠正 Agent4 的 suiren.xml 误报)
- 实战记录:知识库含真实 bug/JIRA/发布的实测数据,不只是静态分析
新建专题走独立子文件夹,不要并入顶层 00-09 编号体系;建完后在本索引”四大专题”或”其他专题”登记一行。
七、标签体系与检索指南(2026-07-24 建立)
本知识库全量 168 篇文档已按 车设/ 标签体系打 frontmatter 标签(规范见 爬取的文章/_标签体系规范.md §3.7),支持 LLM 语义+关键词检索 与 Obsidian 嵌套标签图谱聚合。每篇含 title / tags / type / series / created 五字段。
按 series 检索(同 series = 同子目录,共 18 组)
MiCarSettings开发教程(顶层00-09) · 整体架构探索 · 连接知识库 · 车辆信号通讯方式研究 · 信号调试工具 · SettingsCarPropertyManager源码解析 · 后屏投影知识库 · 座舱车门知识库 · 应用启动初始化知识库 · 语言切换知识库 · Artifactory发布知识库 · 整机源码集成知识库 · 发版流程知识库 · perf优化 · BaselineProfile优化 · 测试基础设施 · 开发环境配置 · MiCarSettings知识库总索引
按领域检索(车设/ 13 子域,Obsidian 嵌套可聚合)
车设/架构 · 车设/路由 · 车设/语音 · 车设/车辆接口 · 车设/页面链路 · 车设/构建 · 车设/实战 · 车设/启动 · 车设/业务 · 车设/后屏 · 车设/环境 · 车设/测试 · 车设/性能
检索
车设/召回全库;检索车设/业务召回所有功能模块(车门/灯光/连接/语言切换…)。跨域文档带多个领域标签(如启动性能篇 =车设/启动+车设/性能)。
按 type 过滤
original(163,原创培训/源码解析/优化方案) · case(5,bug 根因复盘:车门 MANNPROB-1838/1839、启动慢白屏、蓝牙 MANNPROB-2956、语言对抗审查)
检索示例
- 查「蓝牙配对」→
series:连接知识库+车设/业务+ 主题词MiBluetoothPairingController - 查「冷启动卡顿」→
车设/启动+车设/性能+根因分析 - 查「发版/出包」→
series:发版流程知识库+车设/构建 - 查「车辆信号读写」→
车设/车辆接口+SettingsCarPropertyManager