背景
我们在开发完成之后,打release包的时候一般都会进行混淆处理,对内部非必要暴露的文件进行混淆。如果你是首次处理注解混淆的话,可能会遇到这么一个问题,为什么debug的时候功能ok的,打release包后功能就失效了。 其实,这里就是混淆之后注解没有生效导致的。
解决方案
在混淆文件中添加下面两行,通过keepattributes 来保留签名等信息,其中就包含注解信息。
-keepattributes Signature
-keepattributes *Annotation*
Android 代码混淆规则
具体可以参考掘友的这边文章:Android 代码混淆规则