Files
o62lte-customising-plan/s4e-icons/docs/图标命名对照表.md
T
2026-10-02 21:34:56 +08:00

4.7 KiB
Raw Blame History

本文是当时的分析 / 交付存档,路径按当时的工作目录写。 本项目里的对应关系:tools 对应 _tools,inputs/target/vela_app.bin 对应 _x/vela_app.bin, inputs/source 对应 _s5,.work 对应 _out(产物),dist 对应 _out/faces。

图标命名对照表 —— 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 inputs/target/vela_app.bin <你的PNG目录> .work/mypack --patched

产出:icons.patch(补丁表)、icons.rollback(回滚包)、payload/(每个图标的 .bin)、manifest.json(含偏移与 SHA256)、vela_app_patched.bin(可直接写入的整分区镜像)。