Подтвердить что ты не робот

Получение NoSuchFieldError INSTANCE org/apache/http/message/BasicHeaderValueParser

Я работаю над приложением на Android. Я использую httpcore 4.3.3. Я получаю это, когда пытаюсь использовать ContentType.parse(string)

java.lang.NoSuchFieldError: No static field INSTANCE of type Lorg/apache/http/message/BasicHeaderValueParser; in class Lorg/apache/http/message/BasicHeaderValueParser; or its superclasses (declaration of 'org.apache.http.message.BasicHeaderValueParser' appears in /system/framework/ext.jar)

Я сделал несколько поисковых запросов, и я понимаю, почему я получаю сообщение об ошибке, но я не уверен, как это исправить. Из того, что я прочитал, кажется, что ContentType пытается использовать BasicHeaderValueParser, который поставляется с Android, и этот класс еще не имеет поля INSTANCE. Любая помощь пожалуйста?

Это соответствующий импорт:

compile('org.apache.httpcomponents:httpmime:4.3.6') {
    exclude module: 'httpclient'
}
compile 'org.apache.httpcomponents:httpcore:4.3.3'
4b9b3361

Ответ 1

К сожалению, версии HttpCore не могут использоваться в Android. Пожалуйста, используйте Apache HttpClient Android Port, который также включает в себя необходимые классы HttpCore

compile('org.apache.httpcomponents:httpmime:4.3.6') {
    exclude module: 'httpclient'
}
compile 'org.apache.httpcomponents:httpclient-android:4.3.5'

Ответ 2

Загрузите последний файл Jar Apache Httpclient Jar и преломите его. Это работает для меня.

Ответ 3

Похоже, вы используете несовместимую банку для httpmime и httpclient-android. Попробуйте использовать версию 4.3.6 httpmime

Ответ 4

Простым решением является использование:

https://code.google.com/p/httpclientandroidlib/

Это порт HttpClient Appache для андроидного переноса в другом имени пакета, чтобы он не мешал существующей версии Android. Импортируйте банку в проект Android, а вместо "org.apache.http" используйте "ch.boye.httpclientandroidlib".

Ответ 5

Просто добавьте httpmime_4.3.6.jar файла версии 4.3.6 в папку lib и добавьте файлы реализации ('lib/httpmime-4.3.6.jar') в gradle (уровень приложения)