Я поместил файл .jar, содержащий файл .dex, в каталог «/ sdcard», затем я попытаюсь загрузить класс в файле .jar, используя DexClassLoader и PathClassLoader соответственно. Оба они могут загрузить класс успешно. Каковы различия между ними? Вот мой код:Каковы различия между DexClassLoader и 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();
}
Что вы подразумеваете под 'ant'? Также в PathClassLoader не существует никакого метода 'forceLoadClass'. – Codebender