Je suis confronté à une situation bizarre où la classe est définitivement sur le chemin de classe de mon application Android, mais je continue à obtenir des exceptions NoClassDefFoundError.NoClassDefFoundError sur android - une situation très bizarre?
J'ai vérifié que la classe existe bel et bien à travers cet extrait de code:
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
Lorsque vous exécutez l'application sur un périphérique le journal n'imprime le nom de classe, et jette l'erreur NoClassDefFoundError lors de l'accès à elle.
Je suis perdu (e) ici.
Un conseil? Je serais très reconnaissant. Merci.
Stack trace/nom de classe? –