问题描述:在做android 单工程组件化时,想用AOP组件来实现登录、权限的统一拦截处理,经过网上的资料查找决定采用Aspectjx的编译时插桩的方式实现。测试了demo,以及自己集成做了demo运行都ok,于是便开始兴冲冲的单独写成一个aop组件进行集成。写好后在其它module中做登录拦截时,测试一直不生效,就是不进入拦截方法。经过一个星期的不断测试和爬坑,最终解决了该问题。下面是我的解决方案:集成aspectjx还会遇到其它问题,后面有时间再进行整理。
aspectjx { // include 'com.xd.aspectjx_component_demo' // 排除所有package路径中包含`android.support`的class文件及库(jar文件) exclude 'android.support', 'com.google', 'com.chad', 'me.wangyuwei', 'com.alibaba' }
上面可以看到注释掉了include 'com.xd.aspectjx_component_demo',问题就是这一句引起的,当然,我的解决方案不一定适合所有的人,仅供参考。