在我正在工作的项目中,我们最近增加了一定程度的安全性,现在我不想重写整个nework逻辑,如果使用AOP可以更轻松地完成
所以,我试图拦截" onRequestSuccess"整个应用程序中使用的requestListeners的方法。 为此我做了一个简单的方面:
<div>
<div id = "f"/>
<div id = "e"/>
<div id = "d"/>
<div id = "c"/>
<div id = "b"/>
<div id = "a"/>
</div>
}
我已添加了aspectj weaver依赖项:compile&#39; org.aspectj:aspectjweaver:1.8.6&#39;
它似乎有效,至少注释是由android studio识别的。
我在&#34; joinpoint.proceed()&#34;上放置了一个断点。在调试模式下调用并启动应用程序。 但是当我登录时(触发一个这样的监听器的动作)没有任何反应。我错过了什么吗?
答案 0 :(得分:0)
在Maven中你会使用AspectJ Maven插件(当前版本是1.7),在Gradle中有类似的东西。如果要使用CTW(编译时编织),这就是编译所需的。这些插件应该已经包含对 aspectjtools.jar 的依赖,其中包含AspectJ编译器和其他东西。如果使用CTW,则需要 aspectjrt.jar (AspectJ运行时)作为默认范围(编译)或依赖项,因为在运行时也需要它。
但是,如果要使用加载时编织(LTW),则需要通过-javaagent:...
在JVM命令行上使用 aspectjweaver.jar ,因为编织代理需要挂钩到类在加载第一个应用程序类之前加载。 P.S。:编织代理还包含AspectJ运行时类,因此在这种情况下您不需要对运行时的额外依赖。