release 包出问题,排查到最后基本都会翻到这个文件——proguard-rules.pro。规则写得对不对,直接决定线上会不会闪退。这个文件本身机制不复杂:R8 对代码做四件事——压缩、优化、混淆、预检,keep 规则就是告诉它「这几处别碰」。但「别碰」有四种说法,选错一种线上就崩。这篇把规则文件系统梳理一遍:它怎么被加载、keep 四兄弟的区别、什么必须 keep、出了事怎么用 mapping 反推。
一、规则文件在构建里扮演什么角色 ​
它长在 app/proguard-rules.pro,本身不干活——是 R8 的「配
