概述
🔥🔥🔥帮助 Android App 改造成AOP架构的框架 AndroidAOP
简述¶
这是一个帮助 Android App 改造成AOP架构的框架,只需一个注解就可以请求权限、切换线程、禁止多点、一次监测所有点击事件、监测生命周期等等,没有使用 AspectJ,也可以定制出属于你的 Aop 代码
特色功能¶
1、本库内置了开发中常用的一些切面注解供你使用
2、本库支持让你自己做切面,语法简单易上手
3、本库同步支持 Java项目 和 Kotlin项目
4、本库支持切入三方库
5、本库支持切点方法为 Lambda 表达式的情况
6、本库支持切点方法为 suspend 修饰的协程函数
7、本库支持生成所有切点信息Json文件,方便一览所有切点位置在此配置
8、本库支持 debug 快速开发模式,让你打包速度几乎不变在此配置
9、本库支持 组件化开发在此配置
10、本库是纯静态织入AOP代码
11、本库不是基于 AspectJ 实现的,织入代码量极少,侵入性极低
12、丰富完善的使用文档助你完全理解本库的使用规则点此前往wiki文档
13、更有帮助你生成切面代码的插件助手供你使用点此前往下载
点此下载apk,也可扫下边二维码下载¶
Star趋势图¶
欢迎使用 AndroidAOP wiki文档,点击左侧导航栏看你想看的内容👈👈👈
建议您先通过浏览入门来快速了解本库的使用方法,形成大致思路,然后再阅读其他内容。
选择合适的方式可以写出优美的代码,遇到问题请优先通过浏览wiki文档解决,解决不了的再去首页加群交流
本库提供的切面方式分别如下¶
- @AndroidAopPointCut 是注解切面,设置的注解加到任意一个方法上即可,当所加方法被调用时即可进入切面处理类
- @AndroidAopMatchClassMethod 是匹配切面,匹配到某个类的某些方法,当所在类的方法被调用时即可进入切面处理类
- @AndroidAopReplaceClass 是替换切面,会把设置的类的方法的所有调用处替换成替换切面类的方法
- @AndroidAopModifyExtendsClass 是修改继承类,会将目标类的继承类换成所注解的类
- @AndroidAopCollectMethod 是收集继承类
除了 @AndroidAopPointCut 都可以利用 “AOP 代码生成助手”辅助你使用本库
其区别如下:¶
-
@AndroidAopMatchClassMethod 和 @AndroidAopPointCut 关注的是方法的执行(Method execution)
-
@AndroidAopReplaceClass 关注的是方法的调用(Method call)
-
注意@AndroidAopReplaceClass 和其他两种的有着本质的区别,前两种关注的是方法的执行,并且会自动保留可以执行原有逻辑的方法(即ProceedJoinPoint);
-
@AndroidAopReplaceClass 关注的是方法的调用,是将所有调用的地方替换为您设置的类的静态方法,并且不会自动保留执行原有逻辑的方法
-
@AndroidAopReplaceClass 的优点在于“相当于”可以监测到某些系统方法(android.jar里的代码)的调用,前两者不具备这个特点,所以如果不是基于此种需求,建议使用 @AndroidAopMatchClassMethod
赞赏¶
都看到这里了,如果您喜欢 AndroidAOP,或感觉 AndroidAOP 帮助到了您,可以点右上角“Star”支持一下,您的支持就是我的动力,谢谢~ 😃
如果感觉 AndroidAOP 为您节约了大量开发时间、为您的项目增光添彩,您也可以扫描下面的二维码,请作者喝杯咖啡 ☕
捐赠列表¶
如果在捐赠留言中备注名称,将会被记录到列表中~ 如果你也是github开源作者,捐赠时可以留下github项目地址或者个人主页地址,链接将会被添加到列表中
联系方式¶
- 有问题可以加群大家一起交流 点此加QQ群:641697838