java.lang.NoSuchFieldError: org.apache.http.message.BasicHeaderValueFormatter.INSTANCE

利用httpClient上传图片时遇到的问题,具体错误为:

12-16 14:06:41.874 11792-11928/com.four.voicerecord.httpclientuploaddemo E/AndroidRuntime: FATAL EXCEPTION: Thread-1824
Process: com.four.voicerecord.httpclientuploaddemo, PID: 11792
java.lang.NoSuchFieldError: org.apache.http.message.BasicHeaderValueFormatter.INSTANCE
at org.apache.http.entity.ContentType.toString(ContentType.java:153)
at org.apache.http.entity.mime.MultipartFormEntity.(MultipartFormEntity.java:53)
at org.apache.http.entity.mime.MultipartEntityBuilder.buildEntity(MultipartEntityBuilder.java:236)
at org.apache.http.entity.mime.MultipartEntity.getEntity(MultipartEntity.java:119)
at org.apache.http.entity.mime.MultipartEntity.getContentType(MultipartEntity.java:150)
at org.apache.http.impl.client.AbstractHttpClient.isMoMMS(AbstractHttpClient.java:757)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:581)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:511)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient. java:489)
at com.four.votpclientuploaddemo.UploadThread.read.java:47)

解决办法是下载httpcomponents-client-4.4-beta1-bin的jar包

jar包下载地址

然后导入httpmime-4.4-beta1.jar
httpcore-4.4-beta1.jar
httpclient-4.4-beta1.jar三个包
如果没有解决的话再在android项目中module中的build.gradle中的android大括号中添加如下代码:
packagingOptions {
exclude ‘META-INF/DEPENDENCIES.txt’
exclude ‘META-INF/LICENSE.txt’
exclude ‘META-INF/NOTICE.txt’
exclude ‘META-INF/NOTICE’
exclude ‘META-INF/LICENSE’
exclude ‘META-INF/DEPENDENCIES’
exclude ‘META-INF/notice.txt’
exclude ‘META-INF/license.txt’
exclude ‘META-INF/dependencies.txt’
exclude ‘META-INF/LGPL2.1’
}

猜你喜欢

转载自blog.csdn.net/qq_17311561/article/details/50327489