Android 에서 

Apache Httpclient 를 사용하는 라이브러리를 실행하려고 할 때,

기존 Android Application Framework에 포함되어 있는 Httpclient와 버전간 충돌이 나는 경우가 있습니다.

원하는 버전의 Httpclient 라이브러리를 dependency로 잡아주어도

Android Application Framework의 ClassLoader가 먼저 로딩이 되어버리기 때문에 Run-time Error가 나게 되지요.


이 경우 ClassLoader를 직접 로딩해서 원하는 클래스를 만들거나 해야하는데 정말 귀찮은 일이 아닐 수 없습니다.


이를 위해서 누군가가 Apache Httpclient 를 리패키징 해 놓았습니다.

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


기존 Httpclient 라이브러리 dependency를 해제하고 이 리패키징 라이브러리를 dependency로 잡은 다음,

이놈이 제공하는 httpclient 클래스를 대신 로딩하면 됩니다.

(실제로 할 일은 import 부분에 있는 org.apache.http~ 부분을 이놈이 제공하는 패키지 경로로 바꾸어 주기만 하면 됩니다)



참고로 다른 방법들도 있습니다.

http://helloworld.naver.com/helloworld/377316


Posted by 임장관입니다

댓글을 달아 주세요