Files
o62lte-customising-plan/s4e-icons/docs/图标命名对照表-历史.md
T

67 lines
4.4 KiB
Markdown
Raw Normal View History

2026-10-02 21:34:56 +08:00
# 图标命名对照表 —— Xiaomi Watch S4 eSIM (o62lte, 固件 3.202.79)
把你的 **144×144 PNG** 按下面的「PNG 文件名」命名,放进同一个目录,我就能一次性生成完整补丁包。
- 共 **39** 个可替换图标
- 文件名规则:目录层级用 `_` 连接,去掉结尾的 `launcher`
(`alarm/launcher.bin` → `alarm.png`,`sports/training/launcher.bin` → `sports_training.png`)
- PNG 请带透明通道(RGBA);圆形外圈留透明即可,不要自己画背景
| PNG 文件名 | 原厂尺寸 | 槽位格式 | 槽位字节 | 数据偏移 | 注意 |
|---|---|---|---|---|---|
| `alarm.png` | 144x144 | ARGB8888 | 82956 | `0x0f3a7e00` | |
| `barometer.png` | 144x144 | ARGB8888 | 82956 | `0x0e825c00` | |
| `breath.png` | 144x144 | ARGB8888 | 82956 | `0x0bd54c00` | |
| `calendar.png` | 144x144 | ARGB8888 | 82956 | `0x0bc4b200` | |
| `chronograph.png` | 144x144 | ARGB8888 | 82956 | `0x0ba47e00` | |
| `compass.png` | 144x144 | I8 | 21772 | `0x0b8a1400` | ⚠ 需 I8 编码(256 色) |
| `debug.png` | 144x144 | I8 | 21772 | `0x0b81a200` | ⚠ 需 I8 编码(256 色) |
| `esimsms.png` | 144x144 | ARGB8888 | 82956 | `0x0b762200` | |
| `find_phone.png` | 144x144 | ARGB8888 | 82956 | `0x0b6f0000` | |
| `flashlight.png` | 144x144 | ARGB8888 | 82956 | `0x0b6dba00` | |
| `health_today.png` | 144x144 | ARGB8888 | 82956 | `0x0a223a00` | |
| `heartrate.png` | 144x144 | ARGB8888 | 82956 | `0x09fea800` | |
| `innovation_research.png` | 144x144 | ARGB8888 | 82956 | `0x096efa00` | |
| `interconnect.png` | 144x144 | ARGB8888 | 82956 | `0x096d8000` | |
| `lua.png` | 144x144 | I8 | 21772 | `0x096b5200` | ⚠ 需 I8 编码(256 色) |
| `media.png` | 144x144 | ARGB8888 | 82956 | `0x0968e200` | |
| `mijia.png` | 144x144 | ARGB8888 | 82956 | `0x09599200` | |
| `nfccard.png` | 144x144 | ARGB8888 | 82956 | `0x093f2c00` | |
| `oxygen.png` | 144x144 | ARGB8888 | 82956 | `0x08f08c00` | |
| `perpetual_calendar.png` | 144x144 | I8 | 21772 | `0x07b3be00` | ⚠ 需 I8 编码(256 色) |
| `phone.png` | 144x144 | ARGB8888 | 82956 | `0x07a4d000` | |
| `phone_contacts.png` | 144x144 | ARGB8888 | 82956 | `0x07a82200` | |
| `pressure.png` | 144x144 | ARGB8888 | 82956 | `0x07908400` | |
| `recorder.png` | 144x144 | ARGB8888 | 82956 | `0x067a4600` | |
| `remote_camera.png` | 144x144 | I8 | 21772 | `0x06593a00` | ⚠ 需 I8 编码(256 色) |
| `settings.png` | 144x144 | ARGB8888 | 82956 | `0x052e8000` | |
| `sleep.png` | 144x144 | ARGB8888 | 82956 | `0x05156400` | |
| `sports.png` | 144x144 | ARGB8888 | 82956 | `0x04baee00` | |
| `sports_course.png` | 144x144 | ARGB8888 | 82956 | `0x05132400` | |
| `sports_record.png` | 144x144 | ARGB8888 | 82956 | `0x04a63000` | |
| `sports_training.png` | 144x144 | ARGB8888 | 82956 | `0x0466b000` | |
| `timer.png` | 144x144 | ARGB8888 | 82956 | `0x03ad3c00` | |
| `todolist.png` | 144x144 | ARGB8888 | 82956 | `0x03aa9000` | |
| `voice_aivs.png` | 144x144 | ARGB8888 | 82956 | `0x0341c400` | |
| `voice_alexa.png` | 144x144 | I8 | 6005 | `0x032fa000` | ⛔ 格式特殊,暂不支持 |
| `walkie_talkie.png` | 144x144 | ARGB8888 | 82956 | `0x02d45600` | |
| `weather.png` | 144x144 | ARGB8888 | 82956 | `0x017de200` | |
| `womenhealth.png` | 144x144 | ARGB8888 | 82956 | `0x00047a00` | |
| `wxpay.png` | 144x144 | I8 | 21772 | `0x0000bc00` | ⚠ 需 I8 编码(256 色) |
## 两点必须注意
**1. 槽位字节必须完全相等。** ROMFS 是绝对偏移顺序排布,替换文件的字节长度必须和原文件一模一样,否则后面所有文件的偏移整体平移、镜像损坏。正因为你的 PNG 是 144×144、与原厂一致,编码后长度天然相等,可以直接原地覆盖。
**2. 标注「需 I8 编码」的那几个,会被自动量化成 256 色。** 它们的槽位只有 21772 字节,装不下 ARGB8888(82956 字节),所以只能用索引色。实测对扁平图标平均误差 0.22/255,肉眼无差别;但如果你的图标有渐变/照片级内容,这几个会有可见色带。
`voice_alexa` 是 6005 字节的特例(`flags=0x0008`),格式未确定,建议先不动。
## 生成命令
```
python _tools/iconpack.py make _x/vela_app.bin <你的PNG目录> _out/mypack --patched
```
产出:`icons.patch`(补丁表)、`icons.rollback`(回滚包)、`payload/`(每个图标的 .bin)、`manifest.json`(含偏移与 SHA256)、`vela_app_patched.bin`(可直接写入的整分区镜像)。