java如何从另一个没有包名的类加载器加载类?
我需要知道如何使用不同的类加载器(test.jar包含classes.dex文件)加载没有包的类:
File f = new File("/sdcard/test.jar");
final File optimizedDexOutputPath = context.getDir("outdex", 0);
DexClassLoader classLoader = new DexClassLoader(f.getAbsolutePath(), optimizedDexOutputPath.getAbsolutePath(), null, context.getClassLoader());
如果“测试”类有一个包:
package com.test;
public class Test {
public static void test() {
// do something
}
}
这项工作:
Class<?> myClass = classLoader.loadClass("com.test.Test");
如果“测试”类没有包:
public class Test {
public static void test() {
// do something
}
}
这不起作用:
Class<?> myClass = classLoader.loadClass("Test");
是否可以在没有包的情况下加载类
# 1 楼答案
加载没有包名的类没有问题。检查我的示例(类“Test”必须没有包):
您将毫无例外地获得控制台输出:
课堂测试