Apache HttpClient 4.1 на Android - PullRequest
       23

Apache HttpClient 4.1 на Android

5 голосов
/ 26 августа 2010

Кто-нибудь пробовал использовать более новую версию Apache HttpClient на Android? В HttpClient, используемом Android, есть досадная ошибка, и мне было интересно, не возникнут ли у меня проблемы с попыткой перераспределения HttpClient 4.1 с моим приложением.

Ответы [ 5 ]

6 голосов
/ 16 августа 2011

Я создал скрипт для преобразования стандартного выпуска HttpClient в проект библиотеки Android. Пакеты переименованы, чтобы не было путаницы в том, какие классы используются.

Также ThreadSafeClientConnManager и Scheme работают просто отлично.

Взгляните: httpclientandroidlib

2 голосов
/ 27 августа 2010

На всякий случай, если кому-то интересно - я перестроил свое приложение с помощью Apache HttpClient 4.01, и все, кажется, работает нормально. Приложение выросло только на 100 КБ.

2 голосов
/ 26 августа 2010

Это не выглядит хорошей идеей, особенно если имена пакетов и классов не изменились в новой версии клиента. Скорее всего, вы не сможете предсказать, какой класс используется (старый или новый).

1 голос
/ 09 июня 2015

Существует официальный порт Android Apache HttpClient, который вы можете найти в maven репозитории (или искать «httpclient-android»).

К сожалению, Android поставляется с встроенной вилкой Apache HttpClient и застрял в версии 4.0.

0 голосов
/ 27 апреля 2011

Я выполнял 4.1 просто отлично, пока не начал использовать ThreadSafeClientConnManager и Scheme, которые вызывали некоторые неприятные ошибки времени выполнения.

ERROR/dalvikvm(1077): Could not find method org.apache.http.conn.scheme.Scheme.<init>, referenced from method com.example.MyActivity.download
WARN/dalvikvm(1077): VFY: unable to resolve direct method 3290: Lorg/apache/http/conn/scheme/Scheme;.<init> (Ljava/lang/String;ILorg/apache/http/conn/scheme/SchemeSocketFactory;)V
WARN/dalvikvm(1077): VFY:  rejecting opcode 0x70 at 0x0035

Я подозреваю, что используется более старая схема в Android API, которая имеет другой конструктор.

...