收到错误:类"org.apache.http.message.BufferedHeader"未实现接口"org.apache.http.NameValuePair"



我的应用程序运行良好。今天我更改了一些内部内容并更新了我的应用程序。在发布Apk我得到这个错误:

类"org.apache.http.message.BufferedHeader"未实现接口"org.apache.http.NameValuePair">

我的应用程序在以前的更新中运行良好。我不明白问题出在哪里。我使用的是职业后卫,也适当地增加了规则。这个错误的主要原因是什么。我已经在stackoverflow上检查了这个特定错误的所有答案。

还将此添加到build.gradle:

android {
useLibrary 'org.apache.http.legacy'
}

清单中:

<uses-library
android:name="org.apache.http.legacy"
android:required="false" />

Proguard:

-keep class org.apache.http.** { *; }
-keep class org.apache.** { *; }
-dontwarn org.apache.**
-dontwarn org.apache.http.**
-dontwarn org.apache.commons.**
-keep class com.google.api.** { *; }
-keepattributes Annotation

假设org.apache.http.message.BufferedHeader是接口org.apache.http.NameValuePair的合法实现,那么类路径上有重复的类-特别要注意NameValuePair的两个不同出现。

错误消息省略了类加载器或home-jar文件:将其视为:

Class'org.apache.http.message.BufferedHeader'没有实现来自jar X的接口'org.apache.http.NameValuePair',而它实现了来自jar Y的同名接口

确定您在描述为"更改一些内部内容并更新我的应用程序"期间所做的事情,它可能会为您指明方向。如果您没有引入另一个依赖项,则类加载顺序可能已经更改。

如果这没有帮助:查看运行时类路径,并确定引入相同类文件的jar。消除重复。

相关内容

  • 没有找到相关文章

最新更新