AspectJ 为单个 Android 项目使用 2 个方面文件
AspectJ using 2 Aspect files for a single Android project
我有一个 Android 应用程序要在 Eclipse 中测试。我有 2 pointcuts
要执行。一种适用于所有方法,另一种适用于 onClickListener
。我的 Android 项目中有多个包。 pointcuts
如下 -
pointcut methodCalls():
execution(* com.example.buttontestaspect..*(..)) || execution(* com.example.hello..*(..)) && !within(com.example.buttontestaspect.testbutton);
pointcut OnClickListener_onClick(View v) :
execution(void OnClickListener.onClick(View)) && args(v);
如果我在单个方面文件中同时使用 pointcuts
,它会影响 Android 应用程序启动,因为在 pointcut
methodCalls()
中测试了多个包。
因此我计划为每个 pointcut
使用 2 个方面文件。这很好还是有其他更好的解决方案?
我刚刚自己找到了答案。我为每个切入点使用了 2 个 Aspect 文件,发现没有太大用处。为了避免这个应用程序崩溃,我找到了一个解决方案。一次测试 1 个包,并在测试前一个包后加载下一个包。
我有一个 Android 应用程序要在 Eclipse 中测试。我有 2 pointcuts
要执行。一种适用于所有方法,另一种适用于 onClickListener
。我的 Android 项目中有多个包。 pointcuts
如下 -
pointcut methodCalls():
execution(* com.example.buttontestaspect..*(..)) || execution(* com.example.hello..*(..)) && !within(com.example.buttontestaspect.testbutton);
pointcut OnClickListener_onClick(View v) :
execution(void OnClickListener.onClick(View)) && args(v);
如果我在单个方面文件中同时使用 pointcuts
,它会影响 Android 应用程序启动,因为在 pointcut
methodCalls()
中测试了多个包。
因此我计划为每个 pointcut
使用 2 个方面文件。这很好还是有其他更好的解决方案?
我刚刚自己找到了答案。我为每个切入点使用了 2 个 Aspect 文件,发现没有太大用处。为了避免这个应用程序崩溃,我找到了一个解决方案。一次测试 1 个包,并在测试前一个包后加载下一个包。