为Android创建AspectJ项目

时间:2013-06-05 09:26:10

标签: android aspectj

我想创建对OnCreate()方法做出反应的项目。 所以,例如,我有活动

public class MainActivity extends Activity
{
 @Override
    public void onCreate(Bundle savedInstanceState)
    {
    //do something
    }
}

我想让我的AspectJ类在OnCreate方法调用之前和之后做一些事情。

public aspect onCreate
{

    pointcut captureOnCreate() : (execution(* onCreate(Bundle)));

    before(): captureOnCreate()
    {

        System.out.println("Aspect BEFORE called");
    }

    after(): captureOnCreate()
    {


        System.out.println("Aspect AFTER called");


    }
}

我尝试将项目转换为AspectJ并将其作为Android应用程序项目运行,但它不起作用。怎么了?

解决

自己解决了。 在Eclipse AspectJ工具中 - > Inpath - >添加外部JAR并将其链接到aspectjrt.jar文件。

并且executoin看起来像这样:
execution(* onCreate(*))&& !within(com.xxx.automation.onCreate);

0 个答案:

没有答案