MiCarSettings 整机源码集成知识库(YU7)

主题:解耦后的 MiCarSettings APK 如何配置进 YU7 整机源码并执行整机编译 建立日期:2026-07-15 研究方法:4 个并行 Agent 对抗研究(prebuilt 集成 / maven 拉取 / device 编译命令 / 产物验收)+ 资深工程师方向把控与对抗裁决 + 源码核对 整机源码:/home/zbc/pangu/yu7(标准 AOSP + 小米定制)


一、TL;DR(先看结论)

  1. MiCarSettings 是解耦 APK:apk 不在整机源码树,编译时由 sync_maven_apk.py 从小米内网 maven(pkgs.d.xiaomi.net)拉取,落到 apps/MiCarSettings.apk,再 BUILD_PREBUILT/product/priv-app/MiCarSettings/(platform 签名)。
  2. YU7 = suiren 车型(代号 n801,SM8150/Auto8650 平台),XCD flavor(非 DCD)。
  3. 版本配置只改一处:YU7 走通用 manifest.xml:131revision(因为 cn/suiren.xml 不覆盖 MiCarSettings)。改 revision="1.0.0.165-dev-xcd"1.0.0.194-dev-xcd 即可。
  4. 整机编译:./mibuild.sh -l suiren-userdebug -t full -u cn(国内)/ -u global(海外)。
  5. 拉取免认证:整机编译走内网 IP 白名单,不需要 artifactory 账号(与独立发布要账号是两套场景)。
  6. 现成 SOP:vendor/micar/prebuilts/packages/.micode/commands/app_upgrade.toml 已有官方 CarSettings 升级标准流程。

二、知识库导航

文档内容核心图表
01-解耦APK集成机制prebuilt 定义、BUILD_PREBUILT、product 注册、权限白名单、分区路径集成数据流 flowchart
02-版本配置与拉取链路manifest 三级覆盖、sync_maven_apk.py mvn 拉取、MD5 缓存、免认证、官方 SOP拉取流程图、覆盖优先级
03-YU7车型与编译命令YU7=suiren、lunch_map、dcd/xcd flavor、mibuild.sh 命令、sku↔regioninclude 链路图
04-实战升级与验收手册改 manifest revision 步骤、编译、验收清单、对抗裁决、踩坑实战时序、踩坑表

三、集成全貌一图流

flowchart LR
    A["manifest.xml:131<br/>revision=1.0.0.194-dev-xcd"] --> B["Android.mk:46 调 sync_maven_apk.py"]
    B --> C["mvn dependency:get<br/>com.mi.car:MiCarSettings:1.0.0.194-dev-xcd:apk<br/>(内网白名单免认证)"]
    C --> D["apps/MiCarSettings.apk"]
    D --> E["Android.mk:1435 BUILD_PREBUILT<br/>LOCAL_PRIVILEGED_MODULE=true<br/>LOCAL_CERTIFICATE=platform"]
    E --> F["PRODUCT_PACKAGES += MiCarSettings<br/>products_product.mk:59"]
    F --> G["/product/priv-app/MiCarSettings/<br/>MiCarSettings.apk"]
    H["mibuild.sh -l suiren-userdebug -t full -u cn"] --> B

    style A fill:#ffe1e1,stroke:#cc0000
    style C fill:#e1f5e1,stroke:#008800
    style G fill:#e1e1ff,stroke:#3333cc

红色 = 唯一要改的配置点;绿色 = 拉取;蓝色 = 最终产物。


四、关键事实速查

YU7 车型代号suiren(n801)
YU7 flavorXCD
版本配置文件vendor/micar/prebuilts/packages/manifest.xml:131
拉取脚本vendor/micar/prebuilts/packages/sync_maven_apk.py
prebuilt 定义vendor/micar/prebuilts/packages/Android.mk:1435-1450
产物分区路径/product/priv-app/MiCarSettings/
签名platform
编译命令./mibuild.sh -l suiren-userdebug -t full -u cn
maven 仓库https://pkgs.d.xiaomi.net:443/artifactory/maven-release-virtual
官方升级 SOPvendor/micar/prebuilts/packages/.micode/commands/app_upgrade.toml

五、对抗裁决记录(资深工程师裁定)

分歧裁定
Agent4 称”无 cn/suiren.xml”❌ 错误,实际存在;但它不覆盖 MiCarSettings,结论仍指向通用 manifest.xml
MiCarSettings 分区路径/product/priv-app/(Android.mk:1435 LOCAL_PRIVILEGED_MODULE:=true),非 /product/app/
拉取认证整机编译走内网白名单免账号;独立发布要 artifactory 账号(两套)

六、关联文档