我想在Android应用程序上以动态方式加载Java类。
我有.jar文件,我可以使用命令dx在该jar上创建.dex文件。然后,我如何使用它们在Android应用程序中加载我需要的类? 我会像他们一样使用它们:
DynamicLoadedClassJar obj = new DynamicLoadedClassInJar()
...
DynamicLoadedClassInJar obj = (DynamicLoadedClassInJar) ...
我只有.jar文件,我可以生成.dex文件(但我不知道如何使用它们)。 你能给我一段代码吗?谢谢
答案 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);