登录
  • 欢迎访问 Sharezer Blog

aspectJ拦截Log用例

Android sharezer 1195次浏览 已收录 0个评论

工程build.gradle

 classpath 'com.hujiang.aspectjx:gradle-android-plugin-aspectjx:2.0.10'

App build.gradle

apply plugin: 'com.hujiang.android-aspectjx'

    api 'org.aspectj:aspectjrt:1.9.6'

InjectLog.java

package com.wangsu.wsapm;

import android.util.Log;

import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;

@Aspect
public class InjectLog {

    @Around("call(* android.util.Log.d(..))")
    public Object weaveJoinPoint(ProceedingJoinPoint joinPoint) throws Throwable {
        Object[] params = joinPoint.getArgs();
//        Log.e("dfdf", "dfdfdf" + params[0] + " " + params[1]);
        System.out.println("aaa");
//        Object result = joinPoint.proceed(params);
        Object result = -1;

        return result;
    }

//    @Before("call(* android.util.Log.d(..))")
//    public void weaveJoinPoint(JoinPoint joinPoint) throws Throwable {
//        Object[] par = joinPoint.getArgs();
//
//        Log.e("dfdf", par[0] + "===" + par[1]);
//    }

//    @Around("execution(* com.zhiliaoapp.aspectj.MainActivity.testA(..))")
//    public Object weaveJoinPoint2(ProceedingJoinPoint joinPoint) throws Throwable {
//        Log.d("dfdf", "dfdfdf");
//        Object[] params = joinPoint.getArgs();
//        params[0] = "aop--" + params[0];
//
//        Object result = joinPoint.proceed(params);
//
//        return result;
//    }
}

Sharezer , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明aspectJ拦截Log用例
喜欢 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址