混淆时遇到的ARouter参数丢失BUG

在开启混淆编译完成后,测试apk发现异常,通过日志分析发现使用ARouter跳转的Activity中,@Autowired标准的变量未注入成功,上github查看arouter文档,发现在app/proguard-rules.pro添加一下规则就可以修复这个问题:

# ARouter

-keep public class com.alibaba.android.arouter.routes.**{*;}

-keep public class com.alibaba.android.arouter.facade.**{*;}

-keep class * implements com.alibaba.android.arouter.facade.template.ISyringe{*;}

# 如果使用了 byType 的方式获取 Service,需添加下面规则,保护接口

-keep interface * implements com.alibaba.android.arouter.facade.template.IProvider

# 如果使用了 单类注入,即不定义接口实现 IProvider,需添加下面规则,保护实现

-keep class * implements com.alibaba.android.arouter.facade.template.IProvider

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容