Java Android-获取加载类/反射以获取包中的类?
是否有人知道如何在Android软件包中获取类列表(从Android应用程序中获取),或者如何使用反射,与Dalvik VM一起从给定的软件包中检索类名?因此对于Android,我们可以使用DexFile类枚举给定APK中的可见类Java Android-获取加载类/反射以获取包中的类?,java,android,sdk,android-ndk,Java,Android,Sdk,Android Ndk,是否有人知道如何在Android软件包中获取类列表(从Android应用程序中获取),或者如何使用反射,与Dalvik VM一起从给定的软件包中检索类名?因此对于Android,我们可以使用DexFile类枚举给定APK中的可见类 try { DexFile dexFile = new DexFile(new File("/data/app/com.uxpsystems.cepclient-2.apk")); Enumeration
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();
}
}
试试看{
DexFile DexFile=新的DexFile(新文件(“/data/app/com.uxpsystems.cepclient-2.apk”);
枚举=dexFile.entries();
if(枚举.hasMoreElements()==false){
d(LOG_标记,“-->枚举没有元素”);
}
while(枚举.hasMoreElements()){
String className=enumeration.nextElement();
if(className.substring(0,18).equals(“com.somecompany.aproduct”)){
Logger.d(LOG_标记,“-->枚举:”+className);
}否则{
//Logger.d(LOG_标记,“-->”匹配失败:“+className.substring(0,18));
}
}
}捕获(IOE异常){
e、 printStackTrace();
}
}