如何在Android Studio中配置AspectJ
我正在尝试在Android Studio中配置AspectJ<但是经过反复试验,它还是不起作用!令人惊讶的是,我能够使用Eclipse开普勒版本如何在Android Studio中配置AspectJ,android,android-studio,aspectj,aspectj-maven-plugin,Android,Android Studio,Aspectj,Aspectj Maven Plugin,我正在尝试在Android Studio中配置AspectJ设置>在插件部分搜索AspectJ 假设在Studio中除了配置build.gradle文件之外,没有其他事情要做 将编译'org.aspectj:aspectjrt:1.8.1'添加到build.gradle(模块:app)的 为后退按钮检测创建了Analytics\u onBackPressed.aj 为点击事件检测创建分析\u OnClick.aj 在创建事件检测时为组件创建分析.aj 创建了必要的依赖类,上面提到的*.aj类将在
我为Android Studio遵循的步骤
Android
项目AspectJ
Analytics\u onBackPressed.aj
分析\u OnClick.aj
*.aj
类将在内部调用这些依赖类在Eclipse中遵循了一些步骤并使AspectJ正常工作
Eclipse
Kepler版本AspectJ开发工具(必需)
李>
Analytics\u onBackPressed.aj
分析\u OnClick.aj
编辑:1,从输出来看,AspectJ仍然没有正确配置 根据,我从eclipse创建了jar文件,包括
*.aj
文件和相应的依赖项。在创建jar文件时排除了AndroidManifest.xml
,并创建了jar
在Android Studio中创建项目。将此*.jar文件放在libs文件中<代码>(应用程序>库)
。我已启用AspectJ,如下所示现在搜索AspectJ的属性并启用
现在正在运行这个项目,应该在插件中创建我放入
*.aj
文件中的日志。不幸的是,这些日志没有打印在Android Studio日志中
我的结论是,AspectJ在这个项目中没有启用,或者出现了配置错误我尝试在Android Studio中使用AspectJ取得了各种成功。这个链接帮助我了解了其中的一部分(假设您的项目的Gradle构建设置)
使用
build.gradle
文件中的自定义代码块,我能够使用.java
文件中的注释在项目中正确编译和编织来定义方面。然而,当我使用.aj
文件定义本机方面时,同样的方法不适用于我。我希望它能有所帮助。IntelliJ对AspectJ没有工具支持,注释风格的AspectJ可以在Android studio上工作。只需将方面代码视为Java代码即可
有关详细信息,请阅读本期
此外,您还可以使用gradle插件,该插件可以编织kotlin代码和披露:我是本书的作者 如中所述,插件不支持编译
.aj
文件
要使用此插件,您有两个选项:
- 从
切换到方面.aj
- 在IDE(IntelliJ社区/Android Studio)之外编译
文件,例如使用Maven/Gradle/Ant,并将它们打包到.aj
中。将此.jar
作为依赖项包含在项目中,然后单击搜索特性。。。按钮,如文档所示.jar
.aj
文件无法正确编译。在AndroidStudio中没有对AspectJ的正式支持是不利的:没有编译错误。我现在能够使用该链接中概述的方法使原生.aj
文件正常工作。这里讨论的是一个库方面的代码和android应用程序代码。哪个是这个图书馆。我们需要创建它吗?DebugTrace.java、StopWatch.java、DebugLog.java和tracespect.java将去哪里?我完全糊涂了对不起,这是不对的。已通过捆绑Jetbrains插件。我是作者,它是在Jetbrains添加AspectJ支持之前创建的。它不再维护,但可能仍然适用于基于IntelliJ的产品的非最终版本,如IntelliJ社区和Android Studio。我曾尝试在Eclipse中配置带有*.aj文件和依赖项的插件,并生成了*.jar文件。现在,Android Studio的输出与预期不符。已将输出包含在我的编辑中。有什么线索告诉我哪里出了问题吗?仅仅因为“它不起作用”就很难帮助我。请包括IntelliJs编译器的输出(在重建项目时)和/或intellij.log以获得进一步帮助。