我正在编写一个我想在桌面和移动设备(Android)上工作的检测库。自定义类加载器为Android?
它的功能是:
露出主这需要一个单一的参数,主要目标类
安装的类加载器,其截取,因为它们是加载的所有类和仪器他们的
像这样:
// Expects args[0] to contain the name of the INNER main
public static void main(String[] args) throws Throwable {
String className = args[0];
String [] newArgs = new String[0];
if(args.length > 1) {
newArgs = Arrays.copyOfRange(args, 1, args.length-1);
}
System.out.println("Bootstrapping " + className);
Loader s = new Loader(ClassLoader.getSystemClassLoader().getParent());
Class> c = s.loadClass(className);
c.getDeclaredMethod("main", new Class[] { String[].class }).invoke(
null, new Object[] { newArgs });
}
的问题是,THI s:
我该如何为android应用程序做大致相同的事情?
一个想法是修改Android清单,用“包装”活动替换现有活动,然后安装类加载器并调用原始基础活动。有没有更好的办法?
2012-05-31
amirpc