Android - загрузить динамически JAR-файл, сгенерированный на Java - PullRequest
0 голосов
/ 30 мая 2018

Я хочу динамически загружать классы Java в приложении Android.

У меня есть файл .jar, и я могу создать файл .dex на этом фляге с помощью команды dx.Тогда как я могу использовать их для загрузки в приложение Android нужных мне классов?Я хотел бы использовать их как:

DynamicLoadedClassJar obj = new DynamicLoadedClassInJar()
...
DynamicLoadedClassInJar obj = (DynamicLoadedClassInJar) ...

Все, что у меня есть, это файл .jar, и я могу создать файл .dex (но я не знаю, как их использовать).Можете ли вы дать мне фрагмент кода для этого?Спасибо

1 Ответ

0 голосов
/ 30 мая 2018

Вот как вы можете загрузить jar и вызвать метод для любого из его классов

URLClassLoader child = new URLClassLoader(jarPath.toURL(), this.getClass().getClassLoader());
Class classToLoad = Class.forName("yourPackage.yourClass", true, child);
Method method = classToLoad.getDeclaredMethod("myMethod");
Object instance = classToLoad.newInstance();
Object result = method.invoke(instance);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...