Android 计算classes.dex中的api调用数
我想知道是否可以通过解析classes.dex文件来计算调用API的次数。我知道调用所有API的方法,但想知道是否有一种方法可以在不运行应用程序的情况下获取API的调用次数,只需解析Android 计算classes.dex中的api调用数,android,reverse-engineering,dalvik,Android,Reverse Engineering,Dalvik,我想知道是否可以通过解析classes.dex文件来计算调用API的次数。我知道调用所有API的方法,但想知道是否有一种方法可以在不运行应用程序的情况下获取API的调用次数,只需解析类.dex。此信息是否存储在dex文件中 我快速查看了dex文件格式,但找不到该信息 例:如果在class1、class2和class3中使用了一次substring(),我应该能够获得子字符串已被调用3次的信息。仅通过解析代码无法判断API调用了多少次。例如,调用了多少次foo(): public static v
类.dex
。此信息是否存储在dex文件中
我快速查看了dex文件格式,但找不到该信息
例:如果在class1、class2和class3中使用了一次
substring()
,我应该能够获得子字符串已被调用3次的信息。仅通过解析代码无法判断API调用了多少次。例如,调用了多少次foo()
:
public static void bar(int x) {
for ( int i = 0; i < x; i++ ) {
foo();
}
}
grep api_call_pattern . | wc -l
grep api_call_pattern . | wc -l