3

.dex ファイルを含む .jar ファイルをディレクトリ "/sdcard" に置き、DexClassLoader と PathClassLoader をそれぞれ使用して、.jar ファイルにクラスをロードしようとしました。どちらもクラスを正常にロードできます。それらの違いは何ですか?これが私のコードです:

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();
}
4

2 に答える 2