Repository navigation
v6.4.2
OhGithubLost v6.4.2
图标终于真的来自 assets/icon —— 顺手挖出两个一直在出厂的缺陷。
Icons now genuinely derive from assets/icon — which surfaced two shipped bugs.
修复 / Fixed
1. Windows 与 Linux 的图标自 v5.6.0 起一直是空白的
desktop_icon.render_rgba 解析出的图层里存的是 url(#bodyGrad) 这样的引用串,
而渐变表的键是 bodyGrad;查表写成 grads.get(layer["fill"].strip()),
永远查不到,于是每个图层都被跳过,输出是一张全透明的图。
症状不是报错,而是一个看不见的图标;构建全程"成功"。
现在:正确解析引用,并且渲染结果若全透明就直接报错 —— 不允许再交出空白图。
2. Android 图标从来没有跟过源图
注入器里是一段硬编码的矢量前景(盾牌 + 蓝色三角),与
assets/icon/ogl_icon.svg(深色多边形 + 金色双眼)完全不同。所谓"唯一事实来源"
名不副实。现在改为真实转换。
3. 自适应图标纵向偏移 3%
居中只按 X 算了横向平移,Y 套用了同一个值;源图重心是 (256, 272),于是图形在
安全区里整体下移。已改为 X/Y 分别计算。
变更 / Changed
- 图标全平台统一从同一份 SVG 派生:
- Android:矢量(VectorDrawable,自适应前景收在安全区内)
- Windows:256 ICO;Linux:2048 PNG 母版
- 传统启动图标放
mipmap-anydpi/:优先级高于具体密度,会盖过模板生成的 PNG,
因此 API < 26 也不会残留 Flutter 默认图标。
新增 / Added
tool/svg_vector.py:SVG → VectorDrawable(纯标准库,渐变按
objectBoundingBox语义换算成绝对坐标)。- 注入器自检新增「图标管线」一节共 13 项断言:渲染非空白、全透明必须报错、
矢量含真实几何与渐变、安全区生效、五个 Android 图标文件均写出。
已知限制 / Known limitations
- 图标转换器只认
polygon+linearGradient(当前源图恰好只用这两者);
源图若引入path/circle/径向渐变,转换会明确报错而不是静默画错。 - 私有仓库的 raw 无法像 Release 附件那样「先签名再加速」:GitHub 没给 raw
提供签名机制,这是硬约束(详见 v6.4.1)。 - Linux 裸放安装包 3 / 6:rpm(arm64)缺平台定义;AppImage 的
ARCH
环境变量未被接受。三种包在 zip / 7z 里都齐全。 - macOS / iOS 自 v5.6.0 起弃用。
产物 / Artifacts
Android arm64-v8a / armeabi-v7a / x86_64 / universal-APK / AAB、
Windows x64 / arm64、Linux x64 / arm64,每份均含 zip 与 7z。