Repository navigation
v6.2.1
修复
修复编辑模式工具栏在部分 APP 中异常空白
根因:ModuleResources.injectInto() 通过反射调用 AssetManager.addAssetPath() 加载模块 APK 资源时,完全忽略返回值。部分 APP 因系统安全策略限制,addAssetPath 返回 0(注入失败),但代码静默继续执行,导致后续所有模块 drawable/string 解析抛出 Resources.NotFoundException,工具栏呈现空白元素。
完整修复链路:
-
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 不依赖像素密度,不应放在密度限定目录
- 将
-
injectInto()返回 boolean + 资源回退机制ModuleResources.injectInto()返回类型从void改为boolean- 增加路径存在性检测、
addAssetPathcookie 校验、注入后资源验证 GmResources新增getColor()/getDrawable()方法NodeSelectorPanel.show()在注入失败时调用patchModuleResources(),通过GmResources(模块自身 Resources)手动回退设置所有模块资源
-
补充
drawable-xxxhdpi/ic_puzzle.pngic_puzzle.png在 mdpi/hdpi/xhdpi/xxhdpi 均存在,唯独 xxxhdpi 缺失,补充完整