繁体   English   中英

寻找面向Java的面向方面的框架(Android),该框架允许修改源[关闭]

[英]Looking for aspect oriented framework for java (Android) which allows to modify sources [closed]

我试图找到面向方面的框架,该框架可以修改.java源文件,而不是.class本身,到目前为止还算运气吗? 我知道这可能是一个愚蠢的主意...但是我要了解的是将确切的代码粘贴到.class上。

基本上我试图将日志记录和其他方面应用于大型android项目。 我正在与AspectJ一起玩,但是问题之一是我们已经达到方法声明限制,我不能仅将AspectJ添加到.apk中。 但是,如果没有AspectJ库,我将没有类定义异常(由以下原因引起:java.lang.NoClassDefFoundError:org.aspectj.runtime.reflect.Factory)

您不太可能找到与源代码相同的AspectJ。

您似乎想要的是一种源到源程序转换工具,该工具可以复制方面插入(或足以进行日志记录)。

实际上,转换系统需要了解如何命名Java实体,以便对命名的Java实体进行转换。

您将不得不编写适用于各个方面的转换。 由于AspectJ的某些方面做了涉及控制流的相当复杂的事情,您可能会发现其中一些转换很难编写。 记录相对容易。

您将运行转换工具以将方面应用于源代码库,从而生成方面化的源代码库。 生成的代码库将被编译并交付到Android上下文中。 转换系统本身不算作超重行李。 您可能会发现有必要在插入方面时插入对其他库的调用(AspectJ似乎发现需要支持库“ runtime.reflect.Factory”),但至少您会知道代码是什么。 您将拥有可检查的源代码。 实际上,您会知道,因为这样的调用将直接在转换规则本身中可见。

在我所了解的转换工具中,只有我们的DMS Software Reengineering Toolkit可以理解Java的命名级别,并处理控制流。 DMS可以应用以显式转换规则形式编码的方面。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM