有谁知道如何(从Android应用程序中)获取Android包中的类列表,或如何使用将与Dalvik VM配合使用的反射从给定包中检索类名?
最佳答案
因此对于Android,我们可以使用DexFile类枚举给定APK中的可见类。
try {
DexFile dexFile = new DexFile(new File("/data/app/com.uxpsystems.cepclient-2.apk"));
Enumeration<String> enumeration = dexFile.entries();
if (enumeration.hasMoreElements() == false){
Logger.d(LOG_TAG, "--> Enumeration has no elements");
}
while (enumeration.hasMoreElements()){
String className = enumeration.nextElement();
if (className.substring(0, 18).equals("com.somecompany.aproduct")){
Logger.d(LOG_TAG, "--> Enumeration: " + className);
}else{
// Logger.d(LOG_TAG, "--> Failed match: " + className.substring(0, 18));
}
}
} catch (IOException e) {
e.printStackTrace();
}
}