Httpmime 라이브러리나 Apache 라이브러리를 사용할 때, Dependency 하는 라이브러리 들이 있습니다.
해당 라이브러리를 추가하지 않으면 실행 중 갑자기 클래스가 존재 하지 않다거나 어떻게 할 수 없는 오류가 발생 한다.
특히 아래와 같은...
NoClassDefFoundError: Failed resolution of: Lorg/apache/http/xxx
아래 화면에서 빨간 네모 부분만 보아라.
## httpmime-4.3.5
http://mvnrepository.com/artifact/org.apache.httpcomponents/httpmime/4.3.5
## httpclient-4.3.5
http://mvnrepository.com/artifact/org.apache.httpcomponents/httpclient/4.3.5
## httpcore-4.3.2
http://mvnrepository.com/artifact/org.apache.httpcomponents/httpcore/4.3.2
보시면 Compile Dependencies 가 존재 합니다. 즉, 라이브러리를 정상적으로 컴파일 해서 사용하기 위해선 의존적인 라이브러리가 있다는 의미 입니다.
Httpmime-4.3.5.jar
Httpclient-4.3.5.jar
Httpcore-4.3.2.jar
commons-codec-1.6.jar
commons-logging-1.1.3.jar
위 형태 같이 의존성이 있는 것입니다.
다 이해하셨겠지만, httpclient를 사용할 때는 httpmime은 필요 없고, httpcore,commons-codec, commons-logging 은 필요하겠죠.
버전도 맞춰줘야 합니다.
그렇지 않으면 빌드시 에러가 발생 하기도 합니다.
전 아무것도 몰라서 버전 상관 없이 막 사용하다가 이제야 알게 되었네요.
참고하세요.
## 이블로그는 어디까지는 찾았던 부분을 잊지 않기 위해 올려놓은 것 입니다.
내용이 부실해도 이해해 주시길 바랍니다.
'나의 플랫폼 > 안드로이드' 카테고리의 다른 글
[Android][스크랩] edittext 관련 사항들.. (0) | 2015.11.20 |
---|---|
[Android] 앱을 종료 하고자 할때 (1) | 2015.11.20 |
[Android] SNS로 데이터 공유하기 (7) | 2015.11.18 |
[Android] Uri 에서 filePath 가져오기 (2) | 2015.11.18 |
[Android] ACTION_PICK 사용 (이미지 가져오기) (0) | 2015.11.18 |