美文网首页
Android炒菜现炒现卖之-------- AOP 环境搭建

Android炒菜现炒现卖之-------- AOP 环境搭建

作者: violet小咔咔 | 来源:发表于2017-06-21 23:05 被阅读0次

    之前我们通过炒菜的方式简单介绍了AOP的一些应用范畴,下面我简单的笼络一下我在其他资料上查找出的一些结论:日志记录、业务埋点、持久化、性能监控、性能日志、数据校验、方法的参数校验、缓存、内存缓存和持久缓存、权限检查、业务权限(如登陆,或用户等级)、系统权限(如拍照定位)、异常处理等等多种作用。
    常用的工具和库AspectJ:一个 JavaTM 语言的面向切面编程的无缝扩展(适用Android)。Javassist for Android:用于字节码操作的知名 java 类库 Javassist 的 Android 平台移植版。DexMaker:Dalvik 虚拟机上,在编译期或者运行时生成代码的 Java API。ASMDEX:一个类似 ASM 的字节码操作库,运行在Android平台,操作Dex字节码。
    今天我来给大家讲解这么叼的东西怎么用。长话短说,请跟我飞完全程,我再一一细细说明。目前使用的比较多的是AspectJ,完全兼容java,也是领导推荐的,我就用它了哈哈。
    首先第一步:要想使得扩展性好,使得很多人都可以用上我们使用AOP思想编出来的库,那么首先我们自然要建立一个android lib。
    第二步:然后在build.gradle文件上加入依赖org.aspectj:aspectjtools:1.8.9,然后在导入org.aspectj.tools.ajc.Main、org.aspectj.bridge.MessageHandler、org.aspectj.bridge.IMessage

    加入依赖
    导入AspectJ tools

    第三步:非常关键的一步
    <pre>
    android.libraryVariants.all { variant ->
    JavaCompile javaCompile = variant.javaCompile
    javaCompile.doLast {
    String[] args = ["-showWeaveInfo",
    "-1.5",
    "-inpath", javaCompile.destinationDir.toString(),
    "-aspectpath", javaCompile.classpath.asPath,
    "-d", javaCompile.destinationDir.toString(),
    "-classpath", javaCompile.classpath.asPath,
    ]

        MessageHandler handler = new MessageHandler(true);
        new Main().run(args, handler)
    
        def log = project.logger
        for (IMessage message : handler.getMessages(null, true)) {
            switch (message.getKind()) {
                case IMessage.ABORT:
                case IMessage.ERROR:
                case IMessage.FAIL:
                    log.error message.message, message.thrown
                    break;
                case IMessage.WARNING:
                case IMessage.INFO:
                    log.info message.message, message.thrown
                    break;
                case IMessage.DEBUG:
                    log.debug message.message, message.thrown
                    break;
            }
        }
    }
    

    }
    </pre>
    哈哈,我们导入依赖的配置工作基本就完成啦。接下来我们就把上一篇文章Android炒菜现炒现卖之-------- AOP 环境搭建的内容写入就可以完美的实现炒菜的内容啦
    基本流程图可以用下图解释,也是从网上找的,比较流行的图

    功能划分图

    相关文章

      网友评论

          本文标题:Android炒菜现炒现卖之-------- AOP 环境搭建

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