Java 如何用添加的jar中可用的类覆盖Android Api类?
场景:一个android项目,比如说ProjAndroid指的是一个java项目,比如说(HelperProj) 在HelperProj中,我试图通过实例化httpConnection池的管理器来使用它Java 如何用添加的jar中可用的类覆盖Android Api类?,java,android,eclipse,apache,Java,Android,Eclipse,Apache,场景:一个android项目,比如说ProjAndroid指的是一个java项目,比如说(HelperProj) 在HelperProj中,我试图通过实例化httpConnection池的管理器来使用它 poolighttpclientconnectionmanager cm=new-poolighttpclientconnectionmanager() 我遇到并能够作为一个独立的程序实现,没有任何故障 但对于android,首先它给出的错误是NoClassDefFoundError,这在我将h
poolighttpclientconnectionmanager cm=new-poolighttpclientconnectionmanager()代码>
我遇到并能够作为一个独立的程序实现,没有任何故障
但对于android,首先它给出的错误是NoClassDefFoundError
,这在我将httpclient-4.3.1.jar和httpcore-4.3.jar添加到android项目时得到了解决。但现在我得到了另一个错误
原因:java.lang.NoSuchFieldError:org.apache.http.message.basiclineformter.INSTANCE
我的结论:-
上面的字段应该在httpcore-4.3.jar中,因为我在以独立方式运行代码时没有收到任何错误。因此,我搜索并发现android已经提供了该字段不可用的位置,并且可能在运行时引用了该类
如果上面的错误,请纠正我
帮助:-
因此,有人请指导我如何解决这个资源冲突,并使用jar中可用的类,而不是android api中可用的类
因此,有人请指导我如何解决这个资源冲突,并使用jar中可用的类,而不是android api中可用的类
这是不可能的。您无法控制类路径,因此固件加载的类始终优先
欢迎您尝试使用将第三方代码移动到单独的包中
或者,你可以看看是否有人已经为你做了这件事
或者,欢迎您为您的问题提出一个不同的解决方案,该解决方案不涉及替换Android提供的类。获取该文件并将其嵌入到您的代码中,作为最终解决方案:)您可以通过“dll地狱”了解更多信息我考虑过,但我不想这样做,因为它将成为特定于android的。我想编写代码,这样我也可以将其用于其他java应用程序。您提供的解决方案非常适合我。谢谢