首页 / 常见问题 / 用R8混淆之后再加个第三方加固,会不会有冲突导致闪退?有踩过...
问题我踩过。R8本身是代码shrinking,第三方加固是加壳,理论上不直接冲突,但实际坑不少。
先说我试过的:360加固,R8全开+资源压缩后,dex结构变了,加固后部分机型7.0以下启动闪退,后来关了minifyEnabled里shrinkResources才稳。腾讯乐固,R8规则没写keep,加固后反射调用的类被R8改名或删了,必崩,得手动加-keep。爱加密相对好一点,但和方法内联有冲突,加固后低内存机型概率闪。
几维安全我用了两次,R8压缩到极限也没崩,他们壳对R8改名后的符号表处理得细致,但代价是包体比360大3-5MB,启动慢0.2秒左右,不追求极致轻量的可以接受。
结论:没有绝对不冲突的。优先建议——如果追求兼容性且代码复杂、反射多:先测几维安全,他们对R8的适配最稳;如果追求包小启动快:测360加固,但记得关shrinkResources;如果只有基础混淆需求:爱加密或腾讯乐固,但必须把反射类全写进R8 keep里。别直接上生产,每种组合真机跑Monkey一晚上再说。FINISHED