完整专业打包Prompt(含项目背景+架构+打包全规范 直接复制即用) 项目整体背景 本项目为车载安卓车机底层通信中间件项目,面向车载安卓车机系统开发,用于实现车机串口通信、底层硬件交互、跨进程业务调用,作为整套业务的底层核心常驻服务,提供稳定硬件能力与业务能力支撑,适配车载量产环境,拒绝临时ADB调试方案,采用系统级组件静默部署升级方案。 项目整体架构说明 1. 核心底层库:.so动态链接库,提供底层硬件、串口、协议底层能力,无独立运行入口,仅被系统服务调用 2. 依赖封装库:2个AAR静态依赖库,为上层业务提供接口封装,仅用于上层APP编译集成,不打入系统升级包 3. 核心常驻服务:系统级Privileged Service APK(核心主体),搭载开机自启逻辑,绑定底层so库运行,持有系统高权限,负责统一调度串口、硬件资源,对外提供Binder跨进程调用能力 4. 调试测试应用:Demo测试APK,用于本地联调、验证服务连通性、串口收发、功能校验,仅调试场景使用 5. 部署交付形态:不采用ADB推送、不采用普通APP安装,统一封装为车载标准组件升级ZIP卡刷包,走车机官方本地升级通道部署更新 统一签名规则 1. 仅 系统Service APK + 调试Demo APK 需要使用甲方提供的车机原厂平台签名完成签名打包 2. .so文件、两个AAR依赖库无需任何签名 3. 所有同体系应用统一平台签名,保证跨进程绑定服务无权限拦截、正常通信调用 升级包制作硬性要求 1. 输出成品:标准车载本地升级ZIP包,非整机system.img系统镜像,仅做中间件组件升级 2. 兼容模式:同时支持全新设备首次部署、旧版本服务覆盖升级双场景通用 3. 部署方式:支持U盘本地离线升级、车机OTA远程后台推送升级,全程无需电脑、无需ADB、无需ROOT 4. 包内禁止放入:源码、日志文件、冗余资源、AAR依赖库 升级包内部固定目录结构   updater-script 脚本编写强制规范 1. 先打印升级提示日志 2. 挂载system分区为可读写状态 3. 优先写入停止旧服务指令:stop 【填写完整服务包名】; 作用:终止已在运行的旧版本服务,避免端口冲突、串口抢占、功能异常;无旧服务运行也静默执行,绝不报错 4. 批量解压包内system目录全部文件推送至车机真实系统对应路径 5. 依次给priv-app服务、lib库、调试Demo配置标准车载系统权限 6. 脚本末尾添加进程重启指令,确保升级完成自动生效 7. 脚本严禁添加格式化、清除数据、卸载系统应用等高危命令,不改动原车机任何原生系统文件 权限与运行机制要求 1. 核心Service部署至 system/priv-app 目录,刷入后自动获取系统UID=1000最高权限 2. 自动原生持有串口读写权限、硬件访问权限、音频通道权限,无需手动授权、无需ADB临时赋权 3. 设备重启后系统自动拉起该中间件服务,实现永久后台常驻,不受系统省电策略限制 4. 升级流程固定:停止旧服务 → 覆盖替换新版APK与SO库 → 自动修复系统权限 → 重启生效 版本区分规则 1. 量产正式版升级包:仅保留系统Service+so库,剔除所有测试Demo,精简干净用于项目交付量产 2. 现场调试版升级包:内置同签名测试Demo,刷包一次性部署服务+调试工具,刷完直接可联调测试 车机端使用操作规范 1. 将完整未解压ZIP包放入FAT32格式U盘根目录,不可放入子文件夹 2. 车机操作路径:桌面设置 → 系统设置 → 系统更新 → 本地升级 3. 选中对应ZIP升级包,点击确认升级,全程全自动执行,完成自动重启 4. 重启后中间件服务自动开机运行,上层业务APP可正常绑定调用底层所有能力 整体禁止事项 1. 禁止制作整车全量系统刷机包,禁止修改车机底层原生固件 2. 禁止修改核心服务包名、进程名,保证新旧版本无缝覆盖升级 3. 禁止在升级包与脚本内嵌入任何ADB命令、ROOT提权命令 4. 禁止将两个AAR依赖库打包进升级包内,AAR仅提供给上层业务端编译使用 升级包根目录 ├─ META-INF/com/google/android │ ├─ update-binary(通用车载升级二进制文件) │ └─ updater-script(自定义升级执行脚本) └─ system ├─ priv-app/【自定义服务文件夹名】 │ └─ 平台签名后的核心系统Service.apk ├─ lib64 │ └─ 放置对应架构 libXXX.so 底层库文件 └─ app/【自定义调试Demo文件夹名】(调试版保留,量产版删除此目录) └─ 同平台签名后的测试Demo.apk