如何在Android Studio中配置AspectJ
我正在尝试在Android Studio中配置AspectJ 。
但毕竟尝试和错误它不工作! 令人惊讶的是,我能够使它与Eclipse的开普勒版本
我遵循的Android Studio的步骤
- 创建示例
Android
项目 - 文件>设置>在插件部分搜索
AspectJ
- 假设Studio中除了build.gradle文件的配置外,没有更多的工作要做
- 添加
compile 'org.aspectj:aspectjrt:1.8.1'
到build.gradle(模块:应用程序) - 为后退按钮检测创建
Analytics_onBackPressed.aj
- 为点击事件检测创建了
Analytics_OnClick.aj
- 为创建事件检测的组件创建
Analytics_onCreate.aj
- 创建必要的依赖类,上面提到的
*.aj
类将在内部调用 - 在清单中添加了所需的权限
- 运行项目没有检测到任何事件(点击按钮,点击或返回按钮)
- 遵循这些链接ReferenceLinkOne , ReferenceLinkTwo和ReferenceLinkThree
我的问题是使AspectJ与Android Studio一起工作所需要的更多东西
在Eclipse中遵循的步骤,并得到AspectJ的工作
- 下载的
Eclipse
开普勒版本 - 通过安装新软件选项搜索http://download.eclipse.org/tools/ajdt/43/update
- 安装了
AspectJ Development Tools (Required)
。 - 创建示例Android项目
- 为后退按钮检测创建
Analytics_onBackPressed.aj
- 为点击事件检测创建了
Analytics_OnClick.aj
- 为创建事件检测的组件创建
Analytics_onCreate.aj
- 在清单文件中添加了所需的权限
- 在项目中右键单击,并通过以下方式将项目转换为AspectJ
- 使用AspectJ运行时库配置Java构建路径
- 现在运行项目时,我能够检测到创建的组件,后退按钮
使用的环境
Android Studio:2.1.2
JRE:1.8.0
Windows 7企业版
任何帮助,高度赞赏!
编辑:1,从输出,仍AspectJ配置不正确
根据这个链接 ,我从eclipse创建了jar文件,包括*.aj
文件和相应的依赖项。 在创建jar file
和创建jar
排除了AndroidManifest.xml
在Android Studio中创建项目。 将这个* .jar文件放在libs文件中。 (apps> libs)
。 我已经使AspectJ如下所示挥动
现在搜索AspectJ的属性并启用
现在运行该项目,应该创建日志,我把它放在插件中的*.aj
文件。 不幸的是,这些日志不会打印在Android Studio日志中。
我正在结束的表格仍然AspectJ没有在这个项目中启用或有一个配置错误
披露:我是AspectJ weaver插件的作者 。
如AspectJ weaver插件文档中所述 ,该插件不支持编译.aj
文件。
要使用这个插件,你有两个选择:
- 从
.aj
切换到注释样式方面。 - 在IDE(IntelliJ Community / Android Studio)之外编译
.aj
文件,例如使用Maven / Gradle / Ant,并将它们打包到一个.jar
。 将该.jar
作为依赖包含在您的项目中,然后单击搜索方面…按钮,根据文档。
我已经有了各种成功,试图让AspectJ在Android Studio中工作。 这个链接帮助我得到了部分方法(假设您的项目为Gradle构建设置)。 http://fernandocejas.com/2014/08/03/aspect-oriented-programming-in-android/
在build.gradle
文件中使用自定义的代码块,我可以使用.java
文件中的注释在我的项目中正确编译和编译。 但是,使用.aj
文件定义本机方面时,这种方法对我来说并不适用。 我希望它有帮助。
IntelliJ没有AspectJ的工具支持,并且Annotation Style AspectJ可以在Android studio上工作。 只要将方面代码视为Java代码即可。
有关详细信息,请阅读有关Android Studio的问题aspectj – AJDT插件在哪里
另外,你可以使用Gradle插件aspectjx ,它可以编织kotlin代码, demo在这里