Она работает:
- Отображение основного объекта, который принимает один параметр, основного целевого класса.
- Установка загрузчика классов, который перехватывает все классы по мере их загрузки и инструменты
Код: Выделить всё
// 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 });
}
Как я могу сделать примерно то же самое для приложения для Android?
Одна из идей состоит в том, чтобы изменить манифест Android, чтобы заменить существующие действия действиями-оболочками, которые затем устанавливают загрузчики классов и вызывают исходное базовое действие. Есть ли лучший способ?
Подробнее здесь: https://stackoverflow.com/questions/108 ... or-android
Мобильная версия