gpt4 book ai didi

java - 如何使用添加的 jar 中可用的类覆盖 Android Api 类?

转载 作者:太空宇宙 更新时间:2023-11-03 13:26:03 25 4
gpt4 key购买 nike

场景: 一个 android 项目说,ProjAndroid 引用一个 java 项目说(HelperProj)。

在 HelperProj 中,我尝试通过实例化其管理器来使用 httpConnection Pooling。

PoolingHttpClientConnectionManager cm = new PoolingHttpClientConnectionManager();

我遇到了 Apache example并且能够作为一个独立的程序来实现,没有任何故障。

但是对于 android,首先它给出了 NoClassDefFoundError 错误,当我添加 httpclient-4.3.1.jarhttpcore-4.3.jar 甚至到 android 项目。但是现在我遇到了另一个错误

引起:java.lang.NoSuchFieldError: org.apache.http.message.BasicLineFormatter.INSTANCE

我的结论:-上面的字段应该是available在 httpcore-4.3.jar 中,因为当我以独立方式运行代码时没有收到任何错误。所以,我搜索并发现 android 已经提供了 BasicLineFormatter class如果此字段不可用且可能在运行时引用此类。

please correct me in case the above is wrong.

帮助:-所以请有人指导我如何解决此资源冲突并使用 jar 中可用的类而不是 android api 中可用的类。

最佳答案

So someone please guide me as how may I resolve this resource conflict and use the class available in jar instead of the one available with android api.

这不是直接可能的。您无法控制类路径,因此固件加载的类始终具有优先权。

欢迎您试用utilities like jarjar将第三方代码移动到单独的包中。

或者,您可以查看其他人是否已经为您完成此操作,as with htpclientandroid .

或者,欢迎您针对您的问题提出一个不涉及替换 Android 提供的类的不同解决方案。

关于java - 如何使用添加的 jar 中可用的类覆盖 Android Api 类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19836012/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com