Je mets un fichier .jar contenant le fichier .dex dans le répertoire "/ sdcard", puis j'essaye de charger la classe dans le fichier .jar en utilisant respectivement DexClassLoader et PathClassLoader. Les deux peuvent charger la classe avec succès. Quelles sont les différences entre eux? Voici mon code:Quelles sont les différences entre DexClassLoader et PathClassLoader?
String dexPath = Environment.getExternalStorageDirectory().getAbsolutePath() + File.separator + "test.jar";
PathClassLoader classLoader1 = new PathClassLoader(dexPath, getClassLoader());
DexClassLoader classLoader2 = new DexClassLoader(dexPath, getDir("dex", 0).getAbsolutePath(), null, getClassLoader());
try {
Class clazz1 = classLoader1.loadClass("com.focans.loader.Peter");
Class clazz2 = classLoader2.loadClass("com.focans.loader.Peter");
} catch (Exception e) {
e.printStackTrace();
}
Qu'entendez-vous par 'ant'? De plus, il ne semble pas y avoir de méthode 'forceLoadClass' dans PathClassLoader. – Codebender