Tag: aspectj

如何在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文件中。 […]

有没有什么办法在Kotlin编织代码之前/之后/周围的函数就像Java中的AspectJ?

我试图用AspectJ来编织Kotlin函数的方面,但没有成功。 也许我只是配置错误,或者AspectJ不支持这个。 有谁知道这是可能的,如使用Maven和Eclipse(或IntelliJ)? 还是小心解释为什么这是不可能的?

Java是否存在类似Babel的编译器?

如果我们想要确保我们的代码在所有浏览器版本中运行,使用JavaScript,我们可以使用Babel 。 有没有像Java这样的东西,我们可以在Java 9中编写我们的代码,但它会运行在Java 6运行时? 例如,Kotlin可以指定多个JVM运行时版本吗?

AspectJ类型层次结构中的kotlin委托编译器问题

注意 TLDR; 我发现这只是一个环境问题。 带有kotlin代码的JAR具有旧的类文件,导致编译器100%正确处理的意外问题。 我认为JAR中还有另外一个类文件,我试图依赖这个叫做SimpleLink的类,而不是一个接口。 当我删除.kt文件时,Gradle Kotlin编译插件没有删除这些类。 LPT:在尝试发布之前运行Gradle clean任务,即使您只发布到maven本地。 我有一个与使用另一个项目的kotlin类的代码连接的aspectj问题。 aspectJ编译器运行1.8.6版本。 我特别的问题是,我一直看到这样的: Type mismatch: cannot convert from element type ExtendedSimpleLink to SimpleLink 我有一个类型层次结构,其中ExtendedSimpleLink extends LinkDecorator ,其中ExtendedSimpleLink extends LinkDecorator在LinkDecorator中编写并在另一个项目中编译, ExtendedSimpleLink是使用aspectj编译器编译的java。 LinkDecorator看起来像这样: abstract class LinkDecorator( private val decorated : SimpleLink ) : SimpleLink by decorated { override fun hashCode(): Int = decorated.hashCode() override fun equals(other: Any?): Boolean […]

Aspectj不能和kotlin一起工作

我想在kotlin中使用aspectj aop,这里是我的代码: 我在annotation.lazy_list中的注释: 科特林: package anotation @Retention(AnnotationRetention.RUNTIME) @Target(AnnotationTarget.FUNCTION) annotation class lazy_list 我的课程: @Aspect class ActiveListAop{ @Pointcut("execution(@annotation.lazy_list * *(..))") fun profile() { } @Before("profile()") fun testModeOnly(joinPoint: JoinPoint) { println("123") } } 我的用法: @lazy_list fun all():List<T>{ return lazy_obj?.all() as List<T> } 当我打电话all()函数,没有错误,但不会打印“123”,为什么?