知乎 Android 客户端组件化实践
安卓AOP三剑客:APT,AspectJ,Javassist
AOP:APT,AspectJ,Javassist/Asm

aop工具:ASM、APT、AspectJ、Javassist

一、组件化思想:
1、对架构分层,使用注解,定义接口,和对接口的实现,进行解耦
2、Gradle Transform 扫描项目所有代码、包括二进制
3、使用aop工具在编译期间(扫描类注解),在class生成dex之前,找到带有注解的class,进行生成对应的类class。

**二、AOP工具:**ASM、APT、AspectJ、Javassist
组件化实现总结
执行阶段:
APT在compile任务前,修改java文件;
AspectJ在java --> class阶段,修改java代码;
Javassist和asm,都是修改的.class

发生的具体函数
APT Processor -> process{…}
AspectJ javaCompile.doLast{ … }
Javassist和asm MyTransform -> transform{ … }

相关文章:

  • 2021-12-29
  • 2022-12-23
  • 2021-05-11
  • 2021-12-18
  • 2022-12-23
  • 2022-12-23
  • 2021-07-27
  • 2022-03-02
猜你喜欢
  • 2021-04-22
  • 2022-01-13
  • 2022-12-23
  • 2022-12-23
  • 2021-07-02
  • 2021-10-31
  • 2021-05-04
相关资源
相似解决方案