工程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;
// }
}