【发布时间】:2013-04-23 06:05:15
【问题描述】:
我有一个 apk 的源代码,包含几百个类。我需要在我的源代码中获取对 Android SDK 方法的所有调用的列表。我想过开发一个python脚本来解析所有的源,但似乎有太多的规则需要定义。我觉得这太复杂了。
有人有想法吗?还是有现有的工具可以做到这一点?
例如,如果代码如下所示:
class MyActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
if (savedInstanceState.containsKey("toto")) {
setContentView(R.layout.mylayout);
this.uselessMethod();
}
}
public int uselessMethod() {
new Thread();
}
}
我想得到这样的东西:
- java.lang.Thread#()
- android.app.Activity#onCreate(Bundle) 无效
- android.app.Activity#setContentView(int) 无效
- android.os.Bundle#containsKey(String) 布尔值
谢谢。
【问题讨论】:
-
你可以使用 javap : java.sun.com/j2se/1.5.0/docs/tooldocs/windows/javap.html
-
javap 是一个反汇编程序。我不需要反汇编应用程序,因为我得到了源代码。我需要在我的代码中列出对 Android SDK 的所有调用。