-
安装AJDT插件:
- 插件地址:https://www.eclipse.org/ajdt/downloads/
- 安装方法:找个自己Eclipse版本对应的AJDT进行安装,可以下载后安装,也可以在线安装。
我用的是Eclipse4.10.0,对应的AJDT 地址 http://download.eclipse.org/eclipse/updates/4.10 - 以上随便百度 Eclipse Aspectj AJDT都可以找到教程
-
AJDT插件使用方法
- 创建Android工程后,在工程上 “鼠标右键”->“Config”->“Convert to AspectJ Project”
- 将AspectJ 依赖添加到编译路径内。
工程上鼠标右键-> properties -> “Java Build Path” -> “Order and Export” the “AspectJ Runtime Library
**我在这里遇到了一个编译问题,如下com.android.dx.cf.iface.ParseException: bad class file magic (cafebabe) or version (0034.0000)
原因是上图选中的AspectJ Runtime Library 是用java 1.8编译的,而我的工程是1.7编译的。
解决办法是删除了上图中的AspectJ Runtime Library依赖,手动引入一个AspectJ的依赖包( AspectJ下载地址),下载后双击安装,将安装目录下的lib/aspectjrt.jar 文件添加到我工程的lib中,并用它替换之前的AspectJ Runtime Library。注意将aspectjrt.jar放到最后
- 这样工程就可以开始AspectJ开发了
- 创建Android工程后,在工程上 “鼠标右键”->“Config”->“Convert to AspectJ Project”
-
用ant编译AspectJ
- 这里我的情况是原有工程是可以正确编译的,只是需要添加对AspectJ的编译支持
- 用Ajc11CompilerAdapter (javac)方式编译已有的工程:
- 将AspectJ安装路径下的lib/aspectjtools.jar复制到${ANT_HOME}/lib下
- ant新加参数
ant -Dbuild.compiler=org.aspectj.tools.ant.taskdefs.Ajc11CompilerAdapter
- 使用这种方式,不用改写原有的脚本,其相当于扩展了javac,使javac命令可以正确编译AspecJ代码(目前遇到的一点小问题就是不管工程是否实际上使用的AspectJ,都需要将aspectjrt.jar加入到classpath中)
- 以上内容都是从说明文档的第4章找到的,有别的问题还是需要看下文档去解决
11-05