我面临着一个奇怪的情况,那里的类肯定是在我的android应用程序的类路径中,但是我一直在收到NoClassDefFoundError异常。Android上的NoClassDefFoundError - 一个非常奇怪的情况?
我已经检查了确实类通过此代码段存在:
try{
Field dexField = PathClassLoader.class.getDeclaredField("mDexs");
dexField.setAccessible(true);
PathClassLoader classLoader =
(PathClassLoader)Thread.currentThread().getContextClassLoader();
Log.d("OUT", "Class loader" + classLoader.getClass().getName());
DexFile[] dexs = (DexFile[]) dexField.get(classLoader);
Log.d("OUT", "Enumerating");
for (DexFile dex : dexs) {
Enumeration<String> entries = dex.entries();
while (entries.hasMoreElements()) {
// (3) Each entry is a class name, like "foo.bar.MyClass"
String entry = entries.nextElement();
Log.d("OUT", "Entry: " + entry);
}
}
}catch(Throwable e){
Log.e("OUT", e.getMessage(), e);
}
// Here I reference to the problematic class
当运行设备的日志不打印类名称上的应用程序,并在访问它抛出NoClassDefFoundError的错误。
我迷失在这里。
有什么建议吗?我会很感激。谢谢。
堆栈跟踪/类名? –