我正在使用AspectJ for Android,我需要编写2个切入点,其中onCreate()
执行切入点执行,而其他方法用于排除onCreate()
的Android应用中的其他方法。
目前我的方法切入点也是注入onCreate()我不想发生。就像这样 -
pointcut methodCalls():
execution(* com.hello..*(..)) && !within(com.retro.Tester);
Tester.aj是我的Aspect文件
答案 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()
。