[关闭]
@TryLoveCatch 2023-03-06T01:55:24.000000Z 字数 1466 阅读 1435

Android Aop集合

android aop aspectj


原理

时机

aop方案对比

JavaCode -> .java的时机,也可以是APT

参考

安卓AOP三剑客:APT,AspectJ,Javassist

1、埋点技术研究
http://unclechen.github.io/2017/12/18/Android%E5%9F%8B%E7%82%B9%E6%8A%80%E6%9C%AF%E5%88%86%E6%9E%90/
https://zhuanlan.zhihu.com/p/56172076
https://www.shujike.com/blog/74324
http://android9527.com/2018/10/20/2018-10-20-AOP%E6%8A%80%E6%9C%AF%E7%9A%84%E5%87%A0%E7%A7%8D%E5%AE%9E%E7%8E%B0%E6%96%B9%E5%BC%8F/
https://blog.csdn.net/crazy__chen/article/details/52013920
https://zhuanlan.zhihu.com/p/28870960
https://juejin.im/post/5c01533de51d451b80257752
https://juejin.im/post/5c179c136fb9a049e66029dd
强烈推荐:Android 全埋点技术白皮书

2、hugo
http://www.mapeiyu.com/2017/03/22/add-logic-through-annotation/
https://xiaozhuanlan.com/topic/1428095376
https://blog.csdn.net/hp910315/article/details/52701809

3、aspectj
https://github.com/xuexiangjys/XMark
http://johnnyshieh.me/posts/aspectj-in-android-usage/
https://github.com/HujiangTechnology/gradle_plugin_android_aspectjx

4、ASM
https://github.com/JeasonWong/CostTime
https://www.jianshu.com/p/9039a3e46dbc
一起玩转Android项目中的字节码
https://cloud.tencent.com/developer/article/1160090
https://github.com/lijiankun24/Koala
https://www.jianshu.com/p/c2c1d350d245
https://www.jianshu.com/p/16ed4d233fd1

https://www.jianshu.com/p/dca3e2c8608a?from=timeline

APT

https://github.com/gybin02/RouterKit

aspectj

Android Aop之Aspectj

Javassist

ASM

Aop的场景

Android中AOP实践之二场景篇

总结

工具 描述 特点
aspectj 优点:

缺点:
1、增加大概120k左右的大小(这个比较致命)
2、在Advice为Around的时候,会新建很多类
3、不支持织入第三方sdk(特别是有需要统计所有Activity的需求)
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注