发布于 · 指南
Keep 规则太宽:兼容性修复可能留下哪些线索
反射、序列化和动态调用需要规则,但保留整个包不是唯一选择。
保留规则是行为约束
Android 的 Keep 规则文档说明,优化工具需要额外信息来识别反射等动态使用方式。过宽规则会限制优化。对抗分析时,保留的名称和类型也可能成为线索;这是我们对暴露面的判断,不是官方对所有名称的安全评级。
缩小规则但不牺牲功能
按入口和依赖逐条检查规则来源,给每条规则标注原因及回归测试。不要为追求混淆率删除必要规则,也不要碰到崩溃就保留全部代码。若能用显式注册替代动态名称查找,可在源码层减少保留需求;最终仍要验证序列化、插件、JNI 和错误恢复。
行动清单
- 为每条规则写明来源。
- 缩小匹配范围并配套测试。
- 把兼容性失败与安全退步分开记录。
原始资料
- Android: About keep rules · 核对于 2026-10-12