美文网首页
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