04-vendor/giec/厂商定制层分析
vendor/giec/ 厂商定制层分析 基于 device-giec.mk 逐行追踪,理解"厂商如何改系统" 参考代码库:vendor/giec/,Android 14 + Amlogic S905X5M 目录 device-giec.mk 总览 GApps 集成(条件编译) SELinux 策略 HIDL 服务声明(manifest + matrix) HIDL 客户端与服务端(hwstbcmdservice) 预置 APK 预置二进制与 Shell 脚本 设备配置与条件编译 ADB 与调试配置 签名配置 1. device-giec.mk 总览 vendor/giec/ ├── Android.mk # 入口:遍历所有 subdir ├── device-giec.mk # ★ 核心 Makefile,被 device 层 include ├── common/ │ ├── Android.mk # 编译 apps/ 和 libraries/ 下的模块 │ ├── Android.bp │ ├── sepolicy/ # SELinux 规则(.te 文件) │ ├── manifest.xml # HIDL 服务声明(设备提供什么服务) │ ├── compatibility_matrix.xml # HIDL 需求声明(设备需要什么服务) │ ├── keys/ │ │ └── adbkey.pub # ADB 预置公钥 │ ├── libraries/hwstbcmdapi/ # ★ 核心 HIDL 服务完整实现 │ └── files/Privacy_Policy.txt # 隐私政策 ├── apps/ # 预置 APK │ ├── OTAClient/ │ ├── BazeportLauncher/ │ ├── BazeportSystem/ │ ├── LeanKeyboard/ │ ├── Glauncher/ │ ├── STB-TEST/ │ ├── remove_unused_module/ │ └── busybox/ ├── hardware/interfaces/ # HIDL .hal 定义 │ └── hwstbcmdservice/ │ └── 1.0/ └── executable/ # Shell 脚本工具集 ├── get_display_id.sh └── network/ device-giec.mk 在构建系统中被 device/amlogic/ross/device.mk(或类似设备配置)通过 $(call inherit-product, vendor/giec/device-giec.mk) 包含。它的作用是把厂商所有的定制内容注入到构建产物中。 ...