【Electron】Electron Icon 圖標說明、及常見問題
其實各種打包模塊都有相關的文檔說明,相關鏈接如下:
electron-builder:https://www.electron.build/icons.html
electron-packager: https://electron.github.io/electron-packager/main/interfaces/electronpackager.options.html#icon
1、圖片格式
-
windows 和 macos 的 圖標都是復合格式,包含了多種尺寸和顏色模式,Linux 就是多張png,electron 例子里就多各種尺寸。PS:不要把png直接改成 ico。
-
windows :.ico 文件,下圖為 iConvert Icons 的默認設置。
-
macos:.icns 文件,下圖為 iConvert Icons 的默認設置。
2、工具
iConvert Icons、icoFx、AppIcon Generator、MakeAppIcon 等。
- iConvert Icons 是支持多平台的,但online 版本已經無法使用了,網上還有離線版本,app store 和 microsoft store 上應該還可以找到,但可能要收費。
- icoFx 它更像是一個編輯器,同時也支持 windows、mac的圖標生成。
- AppIcon Generator 支持 macOS、iOS、watchOS 和 Android 的圖標生成。
- MakeAppIcon 在線工具,支持移動圖標的生成。
3、常見問題
- windows上圖標未更換。圖標已經換了,但新打出的包或是安裝后的 exe 圖標沒有更換。這個時候可以右擊你的exe或是安裝包點屬性,看看圖標是否正常,如果這里的圖標正常,那其實就是成功的了。主要原因是因為 windows 圖標緩存機制導致的,其實就不用管了,但看着不爽的話,可以清除系統的圖標緩存。PS:清除行為慎用。最后會提供清理的批處理文件。
- windows 窗口或任務欄圖標未更換成功。這種情況一般是 ico 文件中,缺少小尺寸圖標,如 缺少 1616 或 3232 的圖標。
4、windows 清理緩存批處理文件
將下面的內容保存成 bat 文件,執行就可以。PS:有可能需要以管理員權限執行。
rem 關閉Windows外殼程序explorer
taskkill /f /im explorer.exe
rem 清理系統圖標緩存數據庫
attrib -h -s -r "%userprofile%\AppData\Local\IconCache.db"
del /f "%userprofile%\AppData\Local\IconCache.db"
attrib /s /d -h -s -r "%userprofile%\AppData\Local\Microsoft\Windows\Explorer\*"
del /f "%userprofile%\AppData\Local\Microsoft\Windows\Explorer\thumbcache_32.db"
del /f "%userprofile%\AppData\Local\Microsoft\Windows\Explorer\thumbcache_96.db"
del /f "%userprofile%\AppData\Local\Microsoft\Windows\Explorer\thumbcache_102.db"
del /f "%userprofile%\AppData\Local\Microsoft\Windows\Explorer\thumbcache_256.db"
del /f "%userprofile%\AppData\Local\Microsoft\Windows\Explorer\thumbcache_1024.db"
del /f "%userprofile%\AppData\Local\Microsoft\Windows\Explorer\thumbcache_idx.db"
del /f "%userprofile%\AppData\Local\Microsoft\Windows\Explorer\thumbcache_sr.db"
rem 清理 系統托盤記憶的圖標
echo y|reg delete "HKEY_CLASSES_ROOT\Local Settings\Software\Microsoft\Windows\CurrentVersion\TrayNotify" /v IconStreams
echo y|reg delete "HKEY_CLASSES_ROOT\Local Settings\Software\Microsoft\Windows\CurrentVersion\TrayNotify" /v PastIconsStream
rem 重啟Windows外殼程序explorer
start explorer