这是我正在进行的项目的一部分。它包括修改Gingerbread 2.3.7的Android源代码中的.class文件(与问题无关)
我使用自定义weaver工具(没有使用aspectJ)修改了.class文件,它在aspectJ weaver方面的工作方式类似。该工具的作用是在每个类和方法的入口和出口处插入一行。
因此,当生成日志文件时,它是这样的:
"Calling: public void <init>(android.content.Context context, android.util.AttributeSet attrs) in class: android.widget.TextView"
"Calling: public void <init>(android.content.Context context, android.util.AttributeSet attrs, int defStyle) in class: android.widget.TextView"
"Calling: private void setTypefaceByIndex(int typefaceIndex, int styleIndex) in class: android.widget.TextView"
"Calling: public void setTypeface(android.graphics.Typeface tf, int style) in class: android.widget.TextView"
"Calling: protected boolean getDefaultEditable() in class: android.widget.TextView"
"Calling: protected android.text.method.MovementMethod getDefaultMovementMethod() in class: android.widget.TextView"
"Calling: public int getTotalPaddingLeft() in class: android.widget.TextView"
"Calling: public android.graphics.drawable.Drawable[] getCompoundDrawables() in class: android.widget.TextView"
将其输出到日志文件。我需要一个数据可视化工具,它可以使用此日志跟踪生成类层次结构的跟踪(路径)的UML或序列图。
基本上是痕迹的视觉替代品。序列图如下:
Classname -> method() -> otherMethod() -> SomeOtherClass -> method() -> method2() -> OtherClass
由于weaver,所有类名和方法名都在日志文件中生成。我研究了几个工具,如: https://github.com/bedrin/jsonde
但他们没有达到目的。任何帮助表示赞赏。