Skip to content

v6.2.1

Choose a tag to compare

@firesahc firesahc released this 14 Jun 08:47
· 270 commits to main since this release

修复

修复编辑模式工具栏在部分 APP 中异常空白

根因:ModuleResources.injectInto() 通过反射调用 AssetManager.addAssetPath() 加载模块 APK 资源时,完全忽略返回值。部分 APP 因系统安全策略限制,addAssetPath 返回 0(注入失败),但代码静默继续执行,导致后续所有模块 drawable/string 解析抛出 Resources.NotFoundException,工具栏呈现空白元素。

完整修复链路:

  1. XML drawable 搬迁至 drawable-anydpi/

    • 将 rounded_bg_full.xml、rounded_bg_bottom_background.xml、ripple_drawable_20dp.xml 从 drawable-xhdpi/ 移至 drawable-anydpi/
    • XML shape/ripple drawable 不依赖像素密度,不应放在密度限定目录
  2. injectInto() 返回 boolean + 资源回退机制

    • ModuleResources.injectInto() 返回类型从 void 改为 boolean
    • 增加路径存在性检测、addAssetPath cookie 校验、注入后资源验证
    • GmResources 新增 getColor() / getDrawable() 方法
    • NodeSelectorPanel.show() 在注入失败时调用 patchModuleResources(),通过 GmResources(模块自身 Resources)手动回退设置所有模块资源
  3. 补充 drawable-xxxhdpi/ic_puzzle.png

    • ic_puzzle.png 在 mdpi/hdpi/xhdpi/xxhdpi 均存在,唯独 xxxhdpi 缺失,补充完整