我正在尝试在Android Studio中配置AspectJ 。
但经过一切反复试验后,它无法正常工作!令人惊讶的是,我能够使用Eclipse Kepler版本工作
我为Android Studio执行的步骤
Android
项目AspectJ
compile 'org.aspectj:aspectjrt:1.8.1'
添加到build.gradle(Module:app)Analytics_onBackPressed.aj
Analytics_OnClick.aj
Analytics_onCreate.aj
*.aj
类将在内部调用我的问题是让AspectJ使用Android Studio
所需的更多问题
Eclipse中遵循的步骤并使AspectJ正常工作
Eclipse
开普勒版AspectJ Development Tools (Required)
。 Analytics_onBackPressed.aj
Analytics_OnClick.aj
Analytics_onCreate.aj
使用环境
Android Studio:2.1.2
JRE:1.8.0
Windows 7企业版
非常感谢任何帮助!
编辑:1,从输出中,仍未正确配置AspectJ
根据this link,我从eclipse创建了jar文件,包括*.aj
个文件和相应的依赖项。创建AndroidManifest.xml
并创建jar file
jar
在Android Studio中创建项目。将此* .jar文件放在libs文件中。 (apps> libs)
。我已启用AspectJ挥动,如下所示
现在搜索了AspectJ的属性并启用了
现在运行该项目,应该创建我放在插件中的*.aj
文件中的日志。不幸的是,这些日志不会在Android Studio日志中打印出来。
我结束的表格仍未在此项目中启用AspectJ或存在配置错误
答案 0 :(得分:3)
披露:我是inofficial AspectJ weaver plugin。
的作者如AspectJ weaver plugin documentation所述,插件不支持支持编译.aj
文件。
要使用此插件,您有两种选择:
.aj
切换到annotation style方面。.aj
文件,例如使用Maven / Gradle / Ant,并将它们打包成.jar
。在项目中包含此.jar
作为依赖项,然后根据文档单击搜索方面... 按钮。答案 1 :(得分:1)
I have had various success trying to get AspectJ working in Android Studio. This link helped me get part of the way there (assumes Gradle build setup for your project). http://fernandocejas.com/2014/08/03/aspect-oriented-programming-in-android/
Using the custom block of code in the build.gradle
file, I was able to get aspects defined using annotations in .java
files compiling and weaving properly in my project. However, this same method did not work for me when defining native aspects using .aj
files. I hope it helps.
答案 2 :(得分:0)
IntelliJ没有对AspectJ的工具支持,而注释风格AspectJ可以在Android工作室上运行。只需将方面代码视为Java代码即可。
有关详细信息,请阅读此问题 aspectj for Android studio - where is AJDT plugin
此外,您可以使用gradle插件aspectjx来编织kotlin代码和demo is here