在我的应用程序中用来自JAR的类替换SDK类

时间:2015-05-30 10:12:47

标签: java android classloader

我需要在项目的libs文件夹中使用jar文件中的json.org而不是Android sdk json.org类。

我已经设置了Eclipse,现在它更喜欢jar而不是Android sdk的json.org类。但是当我在设备上运行我的应用程序时,它使用sdk json.org类。

我认为,我可以使用自定义类加载器手动从jar加载json.org类。

有可能吗?或者可能存在使用lib而不是sdk类的任何其他方法吗?

1 个答案:

答案 0 :(得分:0)

  1. 如果您想使用特定的jar而不是Android SDK中的现有jar,您可以在eclipse中设置优先级(右键单击 - >构建路径),然后指定优先级。
  2. 如果要在类加载器中加载jar,也可以使用类URL
  3.   

    URLClassLoader jsonUrl = new URLClassLoader(jsonJar.toURL(),this.getClass()。getClassLoader());   class classToLoad = Class.forName(“com.MyClass”,true,jsonUrl);   方法method = classToLoad.getDeclaredMethod(“myMethod”);   Object instance = classToLoad.newInstance(); Object result = method.invoke(instance);