Back to Chatbox

图标资源清单(全平台)

docs/assets-icons-inventory.md

1.21.14.1 KB
Original Source

图标资源清单(全平台)

整理项目里的图标/图片资源:各平台(Desktop / Android / iOS / Web)分别用哪些、来源是什么、哪些是冗余可删的。

核查方式:对每个文件在 src/.erb/electron-builder.ymlcapacitor.config.ts、构建脚本中全局 grep 引用,并对 1024 图做 MD5 去重。排除构建产物(dist/out/release/android/ios/ 等)。


1. Desktop(Electron)——assets/

Electron Builder 配置(electron-builder.yml)关键项:

  • buildResources: assets —— electron-builder 按约定自动从 assets/ 取应用图标
  • extraResources: ./assets/** —— assets/ 全量打进安装包的 resources(运行时可通过 process.resourcesPath/assets/... 读取)
  • entitlements: assets/entitlements.mac.plistnsis.include: assets/installer.nsh

运行时入口 src/main/main.ts:

  • getAssetPath('icon.png') —— 窗口图标(line 339)+ Linux 托盘(line 235)
  • getAssetPath('iconTemplate.png') —— macOS 托盘(line 241)
  • getAssetPath('icon.ico') —— Windows 托盘(line 243)

✅ 实际使用

文件用途平台
icon.icns应用图标(buildResources 约定)macOS
icon.ico应用图标(buildResources)+ 托盘Windows
icon.png (1024)窗口图标 + Linux 托盘Linux / 通用
icons/16x16…1024x1024.png(10 个)Linux 应用图标集(buildResources/icons 约定)Linux
iconTemplate.png (16)macOS 菜单栏托盘图标(Template=系统自动反色)macOS
[email protected] (64)macOS 托盘 Retina(Electron 隐式按 @2x 加载)macOS
entitlements.mac.plist签名授权macOS
installer.nshNSIS 安装器脚本Windows
assets.d.tsTS 模块声明(*.png/*.svg 等),非图片,保留构建

🎨 设计源文件(不被 build/运行时直接使用,但用于重新生成上面的图标)

文件说明
icon.svg应用图标矢量母版
icon-raw.png (1024)应用图标原始位图母版(生成 icon.png/icns/ico 的来源)
iconTemplateRaw.png (512)托盘图标母版 —— 见 main.ts:238-240 注释里的 gm convert 生成命令
iconTemplateRawPreview.png (512)托盘图标母版预览

这些 grep 不到引用,但删了会丢失"重新导出图标"的能力。保留(除非确定弃用)。

🗑 冗余 / 完全不需要(已删除)

文件原因
icon-1024.pngicon.png MD5 完全相同,纯重复
icon_pro.png废弃的备用品牌图,零引用
icon_pro2.png同上
icon_pro_plus.png同上
.DS_StoremacOS 目录元数据垃圾(本就未被 git 跟踪)

2. Mobile(Android + iOS)——resources/

pnpm mobile:assets(npx capacitor-assets generate --ios --android)从 resources/ 生成两端的图标和启动屏。assets/ 完全独立。

源文件 (1024 / 2732)生成目标平台
icon-foreground.png自适应图标前景层Android(+ iOS 合成)
icon-background.png自适应图标背景层Android(+ iOS 合成)
icon-only.png传统单图 / iOS AppIconAndroid 旧机 + iOS
splash.png启动屏(亮色)Android + iOS
splash-dark.png启动屏(暗色)Android + iOS

Android 图标的目录结构与 inset/白边细节见 docs/android-app-icons.md


3. Web ——src/renderer/(不在 assets/)

Web/renderer 的图标独立于桌面端,在 src/renderer/:

文件用途
src/renderer/favicon.ico浏览器 favicon(index.html 引用 /favicon.ico)
src/renderer/static/favicon.pngfavicon PNG
logo192.pngapple-touch-icon(index.html 引用)

总结:三套互相独立的图标体系

平台目录工具/约定
Desktopassets/electron-builder buildResources + main.ts 运行时加载
Mobile(iOS/Android)resources/pnpm mobile:assets(capacitor-assets)
Websrc/renderer/index.html 直接引用

改某个平台的图标只动它对应的目录即可,互不影响。