AspectJ为onCreate()和其他方法编写了2个单独的切入点

时间:2015-12-23 14:29:35

标签: android aspectj

我正在使用AspectJ for Android,我需要编写2个切入点,其中onCreate()执行切入点执行,而其他方法用于排除onCreate()的Android应用中的其他方法。

目前我的方法切入点也是注入onCreate()我不想发生。就像这样 -

pointcut methodCalls():
          execution(* com.hello..*(..)) && !within(com.retro.Tester);

Tester.aj是我的Aspect文件

1 个答案:

答案 0 :(得分:1)

假设您有2个切入点,一个用于onCreate()方法和methodcalls(),您应该依赖切入点布尔表达式:

pointcut yourOnCreatePointcut() : execution(INSERT_YOUR_CONDITIONS);
pointcut methodCalls(): execution(* com.hello..*(..)) && !within(com.retro.Tester);
pointcut GIVE_IT_A_PROPER_NAME() : methodCalls() && ! yourOnCreatePointcut();

然后,仅为before()after()切入点添加yourOnCreatePointcut()和/或GIVE_IT_A_PROPER_NAME(),而不是methodCalls()