first commit

This commit is contained in:
admin committed 2026-11-05 14:35:04 +08:00
commit 669f49b1d6
342 files changed
+320811

No files matched your search

@@ -0,0 +1,189 @@
## 1. 系统升级流程
当 U 盘中存在 `update.zip` 时,执行以下流程:
```text
update.zip
↓
读取压缩包内容(不解压)
↓
判断根目录是否存在 ValidationFile.ini
├── 存在
│ ↓
│ 按新版签名包处理
│ ↓
│ 解压
│ ↓
│ 校验内层 update.zip 与 ValidationFile.ini
│ ↓
│ 校验通过后升级内层 update.zip
│
└── 不存在
↓
按旧版标准 升级包处理
↓
直接解析并升级原始 update.zip
```
### 说明
- `update.zip` 为系统升级包;
- 使用 Java `ZipFile` 接口读取压缩包内容,不进行解压;
- 判断压缩包内部是否包含 `ValidationFile.ini`;
- 若存在 `ValidationFile.ini`:
- 认为该文件是新版签名升级包;
- 解压升级包;
- 对解压后的内层 `update.zip` 和 `ValidationFile.ini` 执行签名/完整性校验;
- 校验通过后开始升级内层 `update.zip`;
- 校验失败时升级失败,不得回退到旧版直接升级流程;
- 若不存在 `ValidationFile.ini`:
- 认为该文件是旧版标准 升级包;
- 不解压、不执行新增签名校验;
- 直接解析原始 `update.zip` 并执行系统升级基础校验;
- 基础校验通过后开始升级。
### 系统升级包结构
旧版标准 升级包:
```text
U盘/update.zip
├── payload.bin
├── payload_properties.txt
└── META-INF/com/android/metadata
```
新版签名升级包:
```text
U盘/update.zip
├── update.zip
└── ValidationFile.ini
```
---
## 2. MCU 升级流程
### 2.1 update_mcu.zip 升级
当 U 盘中存在 `update_mcu.zip` 时,执行以下流程:
```text
update_mcu.zip
↓
解压
↓
校验
↓
升级
```
### 说明
- `update_mcu.zip` 为 MCU 压缩升级包;
- 解压后执行校验;
- 校验通过后开始 MCU 升级。
---
### 2.2 cortex-gdm4.bin 升级
当 U 盘中存在 `cortex-gdm4.bin` 时,执行以下流程:
```text
cortex-gdm4.bin
↓
直接升级
```
### 说明
- `cortex-gdm4.bin` 为 MCU 二进制升级文件;
- 不进行解压及校验;
- 直接执行 MCU 升级。
### 2.3 MCU 文件优先级
当同一个 U 盘中同时存在 `update_mcu.zip` 和 `cortex-gdm4.bin` 时:
```text
优先使用 update_mcu.zip
```
### 说明
- `update_mcu.zip` 带签名/完整性校验,安全性更高;
- `cortex-gdm4.bin` 仅用于兼容旧版 MCU 升级方式;
- 若两者同时存在,默认按新版 `update_mcu.zip` 流程处理。
---
## 3. MCU 文件识别规则
|文件名称|处理方式|
|---|---|
|update_mcu.zip|解压 → 校验 → 升级|
|cortex-gdm4.bin|直接升级|
|其它文件|不处理|
---
## 4. 整体流程汇总
```text
系统升级:
update.zip
↓
读取 ZIP 内容(不解压)
↓
根目录是否存在 ValidationFile.ini?
├── 是 → 新版签名包 → 解压 → 校验内层 update.zip → 升级内层 update.zip
└── 否 → 旧版标准 升级 包 → 直接解析并升级原始 update.zip
MCU升级:
① update_mcu.zip
↓
解压
↓
校验
↓
升级
② cortex-gdm4.bin
↓
直接升级
说明:
- 系统升级中,只要检测到 `ValidationFile.ini`,就必须完成签名校验;
- 签名校验失败时,不允许回退为旧版直接升级;
- MCU 升级中,`update_mcu.zip` 优先级高于 `cortex-gdm4.bin`;
- `cortex-gdm4.bin` 仅作为旧版 MCU 升级兼容路径保留。
```