Android - 加载在Java上生成的dinamically JAR文件

时间:2018-05-29 21:40:10

标签: java android class loading

我想在Android应用程序上以动态方式加载Java类。

我有.jar文件,我可以使用命令dx在该jar上创建.dex文件。然后,我如何使用它们在Android应用程序中加载我需要的类? 我会像他们一样使用它们:

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

我只有.jar文件,我可以生成.dex文件(但我不知道如何使用它们)。 你能给我一段代码吗?谢谢

1 个答案:

答案 0 :(得分:0)

以下是如何加载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);