美文网首页
Android:使用Aspect插入代码

Android:使用Aspect插入代码

作者: 奋斗滴猩猩 | 来源:发表于2018-07-02 10:52 被阅读7次

一、背景:

当插件项目打开界面后弹出吐司,但是插件代码没办法直接更改,通过aspect的引入,使用@Before("execute(* 类路径.方法名)")---在该类的该方法名前插入代码;AspectJ定义了AOP语法,它有一个专门的编译器用来生成遵守Java字节编码规范的Class文件,支持静态编译和动态编译。
实例如下:
先配置

  • 添加 dependencies classpath 'org.aspectj:aspectjtools:1.8.10';
  • 添加 dependencies compile 'org.aspectj:aspectjrt:1.8.10'
    代码:
'import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
.........
/**
 * AspectJ相关: 检测Aspect类
 */
@Aspect
public class GodEyeSegmentAspectJ {
       @Before("execution(* 类路径.onResume())")
        public void joinCode(JoinPoint aJoinPoint) {
                Log.d("code", "注入成功");
         }
}

参考:CSDN的博客:AOP之AspectJ - 代码注入

相关文章

网友评论

      本文标题:Android:使用Aspect插入代码

      本文链接:https://www.haomeiwen.com/subject/hjdofftx.html